linux/drivers/net/usb
hayeswang 60d5982304 r8152: prevent the driver from transmitting packets with carrier off
[ Upstream commit 2f25abe6ba ]

The linking status may be changed when autosuspend. And, after
autoresume, the driver may try to transmit packets when the device
is carrier off, because the interrupt transfer doesn't update the
linking status, yet. And, if the device is in ALDPS mode, the device
would stop working.

The another similar case is
 1. unplug the cable.
 2. interrupt transfer queue a work_queue for linking change.
 3. device enters the ALDPS mode.
 4. a tx occurs before the work_queue is called.

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>
History 2017-12-25 14:23:40 +01:00
..
asix.h net: asix: Add in_pm parameter 2016-08-31 21:07:05 -07:00
asix_common.c net: asix: Avoid looping when the device does not respond 2016-10-14 16:06:54 -04:00
asix_devices.c net: usb: asix: fill null-ptr-deref in asix_suspend 2017-11-24 08:33:41 +01:00
ax88172a.c net: asix: Add in_pm parameter 2016-08-31 21:07:05 -07:00
ax88179_178a.c Net Driver: Add Cypress GX3 VID=04b4 PID=3610. 2016-11-09 21:45:34 -05:00
catc.c catc: Use heap buffer for memory size test 2017-02-18 15:11:42 +01:00
cdc-phonet.c cdc-phonet: use common parser 2015-09-15 12:43:49 -07:00
cdc_eem.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
cdc_ether.c net: cdc_ether: fix divide by 0 on bad descriptors 2017-11-24 08:33:40 +01:00
cdc_mbim.c NET: usb: cdc_mbim: add quirk for supporting Telit LE922A 2016-12-08 13:02:25 -05:00
cdc_ncm.c cdc_ncm: Set NTB format again after altsetting switch for Huawei devices 2017-11-15 15:53:17 +01:00
cdc_subset.c cdc_subset: deal with a device that needs reset for timeout 2014-08-02 15:44:18 -07:00
ch9200.c net: usb: ch9200: use kmemdup 2016-05-20 19:50:07 -04:00
cx82310_eth.c cx82310_eth: fix semicolon.cocci warnings 2015-03-24 14:56:02 -04:00
dm9601.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
gl620a.c usbnet: remove generic hard_header_len check 2014-02-17 14:35:46 -05:00
hso.c hso: Convert printk to pr_<level> 2016-09-06 13:29:51 -07:00
huawei_cdc_ncm.c cdc_ncm: Set NTB format again after altsetting switch for Huawei devices 2017-11-15 15:53:17 +01:00
int51x1.c usb: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
ipheth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
kalmia.c kalmia: avoid potential uninitialized variable use 2016-10-27 16:27:34 -04:00
kaweth.c kaweth: remove obsolete debugging statements 2016-09-07 17:45:31 -07:00
Kconfig usb: plusb: Add support for PL-27A1 2017-10-08 10:26:08 +02:00
lan78xx.c net: usb: set error code when usb_alloc_urb fails 2016-12-05 13:27:15 -05:00
lan78xx.h lan78xx: replace devid to chipid & chiprev 2016-02-29 17:12:07 -05:00
lg-vl600.c net: usb: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
Makefile USB: cdc_subset: only build when one driver is enabled 2016-02-18 15:59:45 -05:00
mcs7830.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
net1080.c usbnet: remove generic hard_header_len check 2014-02-17 14:35:46 -05:00
pegasus.c pegasus: Use heap buffers for all register access 2017-02-18 15:11:42 +01:00
pegasus.h drivers: net: usb: pegasus: fix control urb submission 2013-04-29 13:57:50 -04:00
plusb.c usb: plusb: Add support for PL-27A1 2017-10-08 10:26:08 +02:00
qmi_wwan.c net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4 2017-12-25 14:23:38 +01:00
r8152.c r8152: prevent the driver from transmitting packets with carrier off 2017-12-25 14:23:40 +01:00
rndis_host.c rndis_host: Set valid random MAC on buggy devices 2016-07-16 20:03:04 -07:00
rtl8150.c rtl8150: Use heap buffers for all register access 2017-02-18 15:11:42 +01:00
sierra_net.c sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 2017-06-17 06:41:50 +02:00
smsc75xx.c usbnet/smsc75xx: silence uninitialized variable warning 2016-05-04 16:58:56 -04:00
smsc75xx.h usb: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
smsc95xx.c smsc95xx: Add mdix control via ethtool 2016-09-06 13:28:10 -07:00
smsc95xx.h smsc95xx: Add register define 2016-09-06 13:28:10 -07:00
sr9700.c net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9700.h net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9800.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
sr9800.h USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support 2014-02-10 16:53:06 -08:00
usbnet.c usbnet: fix alignment for frames with no ethernet header 2017-12-16 16:25:45 +01:00
zaurus.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00