Commit 269690ac authored by Samuel Ortiz's avatar Samuel Ortiz Committed by David S. Miller

[IRDA]: irda-usb, unregister netdev when patch upload fails

In the STIR421x case, when the firmware upload fails, we need to
unregister_netdev. Otherwise we hit a BUG on free_netdev(), if sysfs
is enabled.
Signed-off-by: default avatarSamuel Ortiz <samuel.ortiz@nokia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4909e488
...@@ -1815,14 +1815,14 @@ static int irda_usb_probe(struct usb_interface *intf, ...@@ -1815,14 +1815,14 @@ static int irda_usb_probe(struct usb_interface *intf,
self->needspatch = (ret < 0); self->needspatch = (ret < 0);
if (ret < 0) { if (ret < 0) {
printk("patch_device failed\n"); printk("patch_device failed\n");
goto err_out_4; goto err_out_5;
} }
/* replace IrDA class descriptor with what patched device is now reporting */ /* replace IrDA class descriptor with what patched device is now reporting */
irda_desc = irda_usb_find_class_desc (self->usbintf); irda_desc = irda_usb_find_class_desc (self->usbintf);
if (irda_desc == NULL) { if (irda_desc == NULL) {
ret = -ENODEV; ret = -ENODEV;
goto err_out_4; goto err_out_5;
} }
if (self->irda_desc) if (self->irda_desc)
kfree (self->irda_desc); kfree (self->irda_desc);
...@@ -1832,6 +1832,8 @@ static int irda_usb_probe(struct usb_interface *intf, ...@@ -1832,6 +1832,8 @@ static int irda_usb_probe(struct usb_interface *intf,
return 0; return 0;
err_out_5:
unregister_netdev(self->netdev);
err_out_4: err_out_4:
kfree(self->speed_buff); kfree(self->speed_buff);
err_out_3: err_out_3:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment