diff options
Diffstat (limited to 'drivers/net/irda/irda-usb.c')
-rw-r--r-- | drivers/net/irda/irda-usb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index 606243d11793..cd87593e4e8a 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c | |||
@@ -1778,7 +1778,7 @@ static int irda_usb_probe(struct usb_interface *intf, | |||
1778 | 1778 | ||
1779 | if (self->needspatch) { | 1779 | if (self->needspatch) { |
1780 | ret = usb_control_msg (self->usbdev, usb_sndctrlpipe (self->usbdev, 0), | 1780 | ret = usb_control_msg (self->usbdev, usb_sndctrlpipe (self->usbdev, 0), |
1781 | 0x02, 0x40, 0, 0, 0, 0, msecs_to_jiffies(500)); | 1781 | 0x02, 0x40, 0, 0, NULL, 0, 500); |
1782 | if (ret < 0) { | 1782 | if (ret < 0) { |
1783 | IRDA_DEBUG (0, "usb_control_msg failed %d\n", ret); | 1783 | IRDA_DEBUG (0, "usb_control_msg failed %d\n", ret); |
1784 | goto err_out_3; | 1784 | goto err_out_3; |
@@ -1815,14 +1815,14 @@ static int irda_usb_probe(struct usb_interface *intf, | |||
1815 | self->needspatch = (ret < 0); | 1815 | self->needspatch = (ret < 0); |
1816 | if (ret < 0) { | 1816 | if (ret < 0) { |
1817 | printk("patch_device failed\n"); | 1817 | printk("patch_device failed\n"); |
1818 | goto err_out_4; | 1818 | goto err_out_5; |
1819 | } | 1819 | } |
1820 | 1820 | ||
1821 | /* replace IrDA class descriptor with what patched device is now reporting */ | 1821 | /* replace IrDA class descriptor with what patched device is now reporting */ |
1822 | irda_desc = irda_usb_find_class_desc (self->usbintf); | 1822 | irda_desc = irda_usb_find_class_desc (self->usbintf); |
1823 | if (irda_desc == NULL) { | 1823 | if (irda_desc == NULL) { |
1824 | ret = -ENODEV; | 1824 | ret = -ENODEV; |
1825 | goto err_out_4; | 1825 | goto err_out_5; |
1826 | } | 1826 | } |
1827 | if (self->irda_desc) | 1827 | if (self->irda_desc) |
1828 | kfree (self->irda_desc); | 1828 | kfree (self->irda_desc); |
@@ -1832,6 +1832,8 @@ static int irda_usb_probe(struct usb_interface *intf, | |||
1832 | 1832 | ||
1833 | return 0; | 1833 | return 0; |
1834 | 1834 | ||
1835 | err_out_5: | ||
1836 | unregister_netdev(self->netdev); | ||
1835 | err_out_4: | 1837 | err_out_4: |
1836 | kfree(self->speed_buff); | 1838 | kfree(self->speed_buff); |
1837 | err_out_3: | 1839 | err_out_3: |