Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[sfrench/cifs-2.6.git] / drivers / media / video / tlg2300 / pd-main.c
index c267e0cfb54ba5201fcf798248146d1c6af6518c..4555f4a5f4c84b94f532d6993a5d0591e4569ae9 100644 (file)
@@ -227,12 +227,11 @@ static int firmware_download(struct usb_device *udev)
 
        fwlength = fw->size;
 
-       fwbuf = kzalloc(fwlength, GFP_KERNEL);
+       fwbuf = kmemdup(fw->data, fwlength, GFP_KERNEL);
        if (!fwbuf) {
                ret = -ENOMEM;
                goto out;
        }
-       memcpy(fwbuf, fw->data, fwlength);
 
        max_packet_size = udev->ep_out[0x1]->desc.wMaxPacketSize;
        log("\t\t download size : %d", (int)max_packet_size);
@@ -454,8 +453,8 @@ static int poseidon_probe(struct usb_interface *interface,
 
        device_init_wakeup(&udev->dev, 1);
 #ifdef CONFIG_PM
-       pd->udev->autosuspend_disabled = 0;
        pd->udev->autosuspend_delay = HZ * PM_SUSPEND_DELAY;
+       usb_enable_autosuspend(pd->udev);
 
        if (in_hibernation(pd)) {
                INIT_WORK(&pd->pm_work, hibernation_resume);