Oliver Neukum [mailto:oneukum@xxxxxxxx] > Sent: Tuesday, July 28, 2015 8:14 PM [...] > > 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); > > + cancel_delayed_work(&tp->schedule); > > Sorry to bother you again, but this looks wrong. > You want to cancel first. There is no point in running any work before the reset is > done. It will undo any progress anyway. Excuse me. Do you mean I don't need cancel the other work because it wouldn't be run before the reset is finished? Best Regards, Hayes ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥