Commit 37608f3e authored by hayeswang's avatar hayeswang Committed by David S. Miller

r8152: reset device when tx timeout

The device reset is necessary if the hw becomes abnormal and stops
transmitting packets.
Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e501139a
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <linux/usb/cdc.h> #include <linux/usb/cdc.h>
/* Version Information */ /* 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_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>"
#define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" #define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
#define MODULENAME "r8152" #define MODULENAME "r8152"
...@@ -1902,11 +1902,10 @@ static void rtl_drop_queued_tx(struct r8152 *tp) ...@@ -1902,11 +1902,10 @@ static void rtl_drop_queued_tx(struct r8152 *tp)
static void rtl8152_tx_timeout(struct net_device *netdev) static void rtl8152_tx_timeout(struct net_device *netdev)
{ {
struct r8152 *tp = netdev_priv(netdev); struct r8152 *tp = netdev_priv(netdev);
int i;
netif_warn(tp, tx_err, netdev, "Tx timeout\n"); 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) static void rtl8152_set_rx_mode(struct net_device *netdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment