net: qmi_wwan: manage_power should always set needs_remote_wakeup
authorBjørn Mork <bjorn@mork.no>
Fri, 1 Nov 2013 13:18:53 +0000 (14:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Nov 2013 20:40:16 +0000 (15:40 -0500)
Reported-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/qmi_wwan.c

index e0a4a2b08e4526a14fc20e64346af85e88623ed2..5dd0d85e633544dd42937fd7f50ba0c4cc3877a8 100644 (file)
@@ -149,7 +149,7 @@ static const struct net_device_ops qmi_wwan_netdev_ops = {
 static int qmi_wwan_manage_power(struct usbnet *dev, int on)
 {
        struct qmi_wwan_state *info = (void *)&dev->data;
-       int rv = 0;
+       int rv;
 
        dev_dbg(&dev->intf->dev, "%s() pmcount=%d, on=%d\n", __func__,
                atomic_read(&info->pmcount), on);
@@ -160,13 +160,11 @@ static int qmi_wwan_manage_power(struct usbnet *dev, int on)
                 * the new value
                 */
                rv = usb_autopm_get_interface(dev->intf);
-               if (rv < 0)
-                       goto err;
                dev->intf->needs_remote_wakeup = on;
-               usb_autopm_put_interface(dev->intf);
+               if (!rv)
+                       usb_autopm_put_interface(dev->intf);
        }
-err:
-       return rv;
+       return 0;
 }
 
 static int qmi_wwan_cdc_wdm_manage_power(struct usb_interface *intf, int on)