diff options
Diffstat (limited to 'drivers/usb/atm/usbatm.c')
-rw-r--r-- | drivers/usb/atm/usbatm.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 779f86ecdd76..2eb8552dac12 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c | |||
@@ -969,7 +969,6 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
969 | char *buf; | 969 | char *buf; |
970 | int error = -ENOMEM; | 970 | int error = -ENOMEM; |
971 | int i, length; | 971 | int i, length; |
972 | int need_heavy; | ||
973 | 972 | ||
974 | dev_dbg(dev, "%s: trying driver %s with vendor=%04x, product=%04x, ifnum %2d\n", | 973 | dev_dbg(dev, "%s: trying driver %s with vendor=%04x, product=%04x, ifnum %2d\n", |
975 | __func__, driver->driver_name, | 974 | __func__, driver->driver_name, |
@@ -1014,8 +1013,7 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
1014 | snprintf(buf, length, ")"); | 1013 | snprintf(buf, length, ")"); |
1015 | 1014 | ||
1016 | bind: | 1015 | bind: |
1017 | need_heavy = 1; | 1016 | if (driver->bind && (error = driver->bind(instance, intf, id)) < 0) { |
1018 | if (driver->bind && (error = driver->bind(instance, intf, id, &need_heavy)) < 0) { | ||
1019 | dev_err(dev, "%s: bind failed: %d!\n", __func__, error); | 1017 | dev_err(dev, "%s: bind failed: %d!\n", __func__, error); |
1020 | goto fail_free; | 1018 | goto fail_free; |
1021 | } | 1019 | } |
@@ -1098,7 +1096,7 @@ int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id, | |||
1098 | __func__, urb->transfer_buffer, urb->transfer_buffer_length, urb); | 1096 | __func__, urb->transfer_buffer, urb->transfer_buffer_length, urb); |
1099 | } | 1097 | } |
1100 | 1098 | ||
1101 | if (need_heavy && driver->heavy_init) { | 1099 | if (!(instance->flags & UDSL_SKIP_HEAVY_INIT) && driver->heavy_init) { |
1102 | error = usbatm_heavy_init(instance); | 1100 | error = usbatm_heavy_init(instance); |
1103 | } else { | 1101 | } else { |
1104 | complete(&instance->thread_exited); /* pretend that heavy_init was run */ | 1102 | complete(&instance->thread_exited); /* pretend that heavy_init was run */ |