V4L/DVB: drivers/media/video/tlg2300: Use kmemdup
[pandora-kernel.git] / drivers / media / video / tlg2300 / pd-main.c
index c267e0c..4555f4a 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);