linux-uconsole/drivers/net
Amitkumar Karwar 8503df8d0c mwifiex: fix Tx timeout issue
commit d76744a932 upstream.

https://bugzilla.kernel.org/show_bug.cgi?id=70191
https://bugzilla.kernel.org/show_bug.cgi?id=77581

It is observed that sometimes Tx packet is downloaded without
adding driver's txpd header. This results in firmware parsing
garbage data as packet length. Sometimes firmware is unable
to read the packet if length comes out as invalid. This stops
further traffic and timeout occurs.

The root cause is uninitialized fields in tx_info(skb->cb) of
packet used to get garbage values. In this case if
MWIFIEX_BUF_FLAG_REQUEUED_PKT flag is mistakenly set, txpd
header was skipped. This patch makes sure that tx_info is
correctly initialized to fix the problem.

Reported-by: Andrew Wiley <wiley.andrew.j@gmail.com>
Reported-by: Linus Gasser <list@markas-al-nour.org>
Reported-by: Michael Hirsch <hirsch@teufel.de>
Tested-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Maithili Hinge <maithili@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-28 08:00:06 -07:00
..
appletalk
arcnet arcnet: cleanup sizeof parameter 2013-08-11 18:35:25 -07:00
bonding bonding: Remove debug_fs files when module init fails 2014-05-30 21:52:14 -07:00
caif caif: CAIF_VIRTIO should depend on HAS_DMA 2013-05-11 16:28:24 -07:00
can can: peak_pci: prevent use after free at netdev removal 2014-06-30 20:09:40 -07:00
cris
dsa
ethernet sunvnet: clean up objects created in vnet_new() on vnet_exit() 2014-07-28 08:00:06 -07:00
fddi
hamradio hamradio/yam: fix info leak in ioctl 2014-01-15 15:28:48 -08:00
hippi
hyperv netvsc: don't flush peers notifying work during setting mtu 2014-01-15 15:28:47 -08:00
ieee802154 at86rf230: change irq handling to prevent lockups with edge type irq 2013-04-16 16:34:08 -04:00
irda net/irda: fix error return code in bfin_sir_open() 2013-05-08 13:13:29 -07:00
phy net: phy: fix a bug when verify the EEE support 2013-05-27 23:30:09 -07:00
plip
ppp net: pppoe: use correct channel MTU when using Multilink PPP 2014-07-28 08:00:06 -07:00
slip
team team: fix mtu setting 2014-06-26 15:12:38 -04:00
usb net: qmi_wwan: add two Sierra Wireless/Netgear devices 2014-07-28 08:00:05 -07:00
vmxnet3 vmxnet3: fix building without CONFIG_PCI_MSI 2014-03-23 21:38:18 -07:00
wan wanxl: fix info leak in ioctl 2013-11-04 04:31:04 -08:00
wimax
wireless mwifiex: fix Tx timeout issue 2014-07-28 08:00:06 -07:00
xen-netback xen-netback: remove pointless clause from if statement 2014-04-14 06:42:18 -07:00
dummy.c dummy: fix oops when loading the dummy failed 2013-07-28 16:30:01 -07:00
eql.c
ifb.c ifb: fix oops when loading the ifb failed 2013-07-28 16:30:01 -07:00
Kconfig
LICENSE.SRC
loopback.c
macvlan.c net: force a list_del() in unregister_netdevice_many() 2014-06-26 15:12:38 -04:00
macvtap.c macvtap: signal truncated packets 2014-01-15 15:28:46 -08:00
Makefile
mdio.c
mii.c
netconsole.c
ntb_netdev.c ntb_netdev: remove from list on exit 2013-05-15 10:58:14 -07:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c tun: update file current position 2014-01-15 15:28:46 -08:00
veth.c net: vlan: announce STAG offload capability in some drivers 2013-04-19 14:46:06 -04:00
virtio_net.c virtio-net: alloc big buffers also when guest can receive UFO 2014-03-23 21:38:10 -07:00
vxlan.c vxlan: use dev->needed_headroom instead of dev->hard_header_len 2014-06-26 15:12:39 -04:00
xen-netfront.c xen-netfront: fix resource leak in netfront 2014-02-06 11:08:17 -08:00