]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
USB: rearrange code in usb_probe_interface
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 8 Jan 2010 17:56:04 +0000 (12:56 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:54:05 +0000 (14:54 -0800)
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: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/driver.c

index f2f055eb6831d73dc006b7e3f54e1e954437c6f4..fcafb2dce3aca12736816d23966f17e4613e8a88 100644 (file)
@@ -274,56 +274,55 @@ static int usb_probe_interface(struct device *dev)
        intf->needs_binding = 0;
 
        if (usb_device_is_owned(udev))
-               return -ENODEV;
+               return error;
 
        if (udev->authorized == 0) {
                dev_err(&intf->dev, "Device is not authorized for usage\n");
-               return -ENODEV;
+               return error;
        }
 
        id = usb_match_id(intf, driver->id_table);
        if (!id)
                id = usb_match_dynamic_id(intf, driver);
-       if (id) {
-               dev_dbg(dev, "%s - got id\n", __func__);
-
-               error = usb_autoresume_device(udev);
-               if (error)
-                       return error;
+       if (!id)
+               return error;
 
-               /* Interface "power state" doesn't correspond to any hardware
-                * 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;
+       dev_dbg(dev, "%s - got id\n", __func__);
 
-               /* The interface should always appear to be in use
-                * unless the driver suports autosuspend.
-                */
-               atomic_set(&intf->pm_usage_cnt, !driver->supports_autosuspend);
+       error = usb_autoresume_device(udev);
+       if (error)
+               return error;
 
-               /* Carry out a deferred switch to altsetting 0 */
-               if (intf->needs_altsetting0) {
-                       error = usb_set_interface(udev, intf->altsetting[0].
-                                       desc.bInterfaceNumber, 0);
-                       if (error < 0)
-                               goto err;
+       /* Interface "power state" doesn't correspond to any hardware
+        * 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;
 
-                       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);
-               if (error)
+       /* Carry out a deferred switch to altsetting 0 */
+       if (intf->needs_altsetting0) {
+               error = usb_set_interface(udev, intf->altsetting[0].
+                               desc.bInterfaceNumber, 0);
+               if (error < 0)
                        goto err;
-
-               intf->condition = USB_INTERFACE_BOUND;
-               usb_autosuspend_device(udev);
+               intf->needs_altsetting0 = 0;
        }
 
+       error = driver->probe(intf, id);
+       if (error)
+               goto err;
+
+       intf->condition = USB_INTERFACE_BOUND;
+       usb_autosuspend_device(udev);
        return error;
 
-err:
+ err:
        mark_quiesced(intf);
        intf->needs_remote_wakeup = 0;
        intf->condition = USB_INTERFACE_UNBOUND;