summaryrefslogtreecommitdiffstats
path: root/drivers/net/usb/r8152_shield.c
diff options
context:
space:
mode:
authorhayeswang <hayeswang@realtek.com>2014-09-30 04:48:01 -0400
committerVladislav Zhurba <vzhurba@nvidia.com>2018-02-01 16:58:01 -0500
commitf2f8e8656c90d7f43e5ce540ed70c0db05f46666 (patch)
tree79233604e7a6b2db0927cddad301f6d2c954a034 /drivers/net/usb/r8152_shield.c
parent8c28a723551869ae40d25be8e000d10c606a1e10 (diff)
r8152: fix setting RTL8152_UNPLUG
The flag of RTL8152_UNPLUG should only be set when the device is unplugged, not each time the rtl8152_disconnect() is called. Otherwise, the device wouldn't be stopped normally. From http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=f561de33d63aefb97fb0c3653a36fb32d4e8c74a Change-Id: I7dbc931baa65efa46d572ebd7b93209e6fe01751 Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from upstream commit f561de33d63aefb97fb0c3653a36fb32d4e8c74a) Signed-off-by: Aly Hirani <ahirani@nvidia.com> Reviewed-on: http://git-master/r/553398 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/net/usb/r8152_shield.c')
-rw-r--r--drivers/net/usb/r8152_shield.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/usb/r8152_shield.c b/drivers/net/usb/r8152_shield.c
index 8f122d4b0..6a0aad588 100644
--- a/drivers/net/usb/r8152_shield.c
+++ b/drivers/net/usb/r8152_shield.c
@@ -3757,7 +3757,11 @@ static void rtl8152_disconnect(struct usb_interface *intf)
3757 3757
3758 usb_set_intfdata(intf, NULL); 3758 usb_set_intfdata(intf, NULL);
3759 if (tp) { 3759 if (tp) {
3760 set_bit(RTL8152_UNPLUG, &tp->flags); 3760 struct usb_device *udev = tp->udev;
3761
3762 if (udev->state == USB_STATE_NOTATTACHED)
3763 set_bit(RTL8152_UNPLUG, &tp->flags);
3764
3761 tasklet_kill(&tp->tl); 3765 tasklet_kill(&tp->tl);
3762 unregister_netdev(tp->netdev); 3766 unregister_netdev(tp->netdev);
3763 tp->rtl_ops.unload(tp); 3767 tp->rtl_ops.unload(tp);