Commit 0f3dda9f authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

USB: rearrange code in usb_probe_interface

This patch (as1322) reverses the two outcomes of an "if" statement in
usb_probe_interface(), to avoid an unnecessary level of indentation.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d837e219
...@@ -274,56 +274,55 @@ static int usb_probe_interface(struct device *dev) ...@@ -274,56 +274,55 @@ static int usb_probe_interface(struct device *dev)
intf->needs_binding = 0; intf->needs_binding = 0;
if (usb_device_is_owned(udev)) if (usb_device_is_owned(udev))
return -ENODEV; return error;
if (udev->authorized == 0) { if (udev->authorized == 0) {
dev_err(&intf->dev, "Device is not authorized for usage\n"); dev_err(&intf->dev, "Device is not authorized for usage\n");
return -ENODEV; return error;
} }
id = usb_match_id(intf, driver->id_table); id = usb_match_id(intf, driver->id_table);
if (!id) if (!id)
id = usb_match_dynamic_id(intf, driver); id = usb_match_dynamic_id(intf, driver);
if (id) { if (!id)
dev_dbg(dev, "%s - got id\n", __func__); return error;
error = usb_autoresume_device(udev);
if (error)
return error;
/* Interface "power state" doesn't correspond to any hardware dev_dbg(dev, "%s - got id\n", __func__);
* state whatsoever. We use it to record when it's bound to
* a driver that may start I/0: it's not frozen/quiesced.
*/
mark_active(intf);
intf->condition = USB_INTERFACE_BINDING;
/* The interface should always appear to be in use error = usb_autoresume_device(udev);
* unless the driver suports autosuspend. if (error)
*/ return error;
atomic_set(&intf->pm_usage_cnt, !driver->supports_autosuspend);
/* Carry out a deferred switch to altsetting 0 */ /* Interface "power state" doesn't correspond to any hardware
if (intf->needs_altsetting0) { * state whatsoever. We use it to record when it's bound to
error = usb_set_interface(udev, intf->altsetting[0]. * a driver that may start I/0: it's not frozen/quiesced.
desc.bInterfaceNumber, 0); */
if (error < 0) mark_active(intf);
goto err; intf->condition = USB_INTERFACE_BINDING;
intf->needs_altsetting0 = 0; /* The interface should always appear to be in use
} * unless the driver suports autosuspend.
*/
atomic_set(&intf->pm_usage_cnt, !driver->supports_autosuspend);
error = driver->probe(intf, id); /* Carry out a deferred switch to altsetting 0 */
if (error) if (intf->needs_altsetting0) {
error = usb_set_interface(udev, intf->altsetting[0].
desc.bInterfaceNumber, 0);
if (error < 0)
goto err; goto err;
intf->needs_altsetting0 = 0;
intf->condition = USB_INTERFACE_BOUND;
usb_autosuspend_device(udev);
} }
error = driver->probe(intf, id);
if (error)
goto err;
intf->condition = USB_INTERFACE_BOUND;
usb_autosuspend_device(udev);
return error; return error;
err: err:
mark_quiesced(intf); mark_quiesced(intf);
intf->needs_remote_wakeup = 0; intf->needs_remote_wakeup = 0;
intf->condition = USB_INTERFACE_UNBOUND; intf->condition = USB_INTERFACE_UNBOUND;
......
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