r8152: reset device when tx timeout
The device reset is necessary if the hw becomes abnormal and stops transmitting packets. Signed-off-by: Hayes Wang <hayeswang@realtek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e501139a51
commit
37608f3e57
|
@ -27,7 +27,7 @@
|
|||
#include <linux/usb/cdc.h>
|
||||
|
||||
/* Version Information */
|
||||
#define DRIVER_VERSION "v1.08.0 (2015/01/13)"
|
||||
#define DRIVER_VERSION "v1.08.1 (2015/07/28)"
|
||||
#define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>"
|
||||
#define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
|
||||
#define MODULENAME "r8152"
|
||||
|
@ -1902,11 +1902,10 @@ static void rtl_drop_queued_tx(struct r8152 *tp)
|
|||
static void rtl8152_tx_timeout(struct net_device *netdev)
|
||||
{
|
||||
struct r8152 *tp = netdev_priv(netdev);
|
||||
int i;
|
||||
|
||||
netif_warn(tp, tx_err, netdev, "Tx timeout\n");
|
||||
for (i = 0; i < RTL8152_MAX_TX; i++)
|
||||
usb_unlink_urb(tp->tx_info[i].urb);
|
||||
|
||||
usb_queue_reset_device(tp->intf);
|
||||
}
|
||||
|
||||
static void rtl8152_set_rx_mode(struct net_device *netdev)
|
||||
|
|
Loading…
Reference in New Issue