mwifiex: fix hang issue for USB chipsets
authorAmitkumar Karwar <akarwar@marvell.com>
Wed, 25 Sep 2013 02:31:24 +0000 (19:31 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 26 Sep 2013 18:02:32 +0000 (14:02 -0400)
commitbd1c6142edce787b8ac1be15635f845aa9905333
tree39c965a1c9548c8eaed6fe3e0936ae0e3b5ca0f0
parent1e43692cdb7cc445d6347d8a5207d9cef0c71434
mwifiex: fix hang issue for USB chipsets

Bug 60815 - Interface hangs in mwifiex_usb
https://bugzilla.kernel.org/show_bug.cgi?id=60815

We have 4 bytes of interface header for packets delivered to SDIO
and PCIe, but not for USB interface.

In Tx AMSDU case, currently 4 bytes of garbage data is unnecessarily
appended for USB packets. This sometimes leads to a firmware hang,
because it may not interpret the data packet correctly.

Problem is fixed by removing this redundant headroom for USB.

Cc: <stable@vger.kernel.org> # 3.5+
Tested-by: Dmitry Khromov <icechrome@gmail.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/11n_aggr.c
drivers/net/wireless/mwifiex/11n_aggr.h
drivers/net/wireless/mwifiex/wmm.c