r8152: fix rtl8152_post_reset function
authorhayeswang <hayeswang@realtek.com>
Fri, 20 Jan 2017 06:33:55 +0000 (14:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jun 2017 04:41:55 +0000 (06:41 +0200)
[ Upstream commit 2c561b2b728ca4013e76d6439bde2c137503745e ]

The rtl8152_post_reset() should sumbit rx urb and interrupt transfer,
otherwise the rx wouldn't work and the linking change couldn't be
detected.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/r8152.c

index 8b8343b3fc39a7422e2c906805bfcfe54ebee5e4..039607dcfa8dd1678a161b218d027a808e211a3b 100644 (file)
@@ -3548,12 +3548,14 @@ static int rtl8152_post_reset(struct usb_interface *intf)
        if (netif_carrier_ok(netdev)) {
                mutex_lock(&tp->control);
                tp->rtl_ops.enable(tp);
+               rtl_start_rx(tp);
                rtl8152_set_rx_mode(netdev);
                mutex_unlock(&tp->control);
                netif_wake_queue(netdev);
        }
 
        napi_enable(&tp->napi);
+       usb_submit_urb(tp->intr_urb, GFP_KERNEL);
 
        if (!list_empty(&tp->rx_done))
                napi_schedule(&tp->napi);