linux/drivers/net/wireless/rtlwifi
Jussi Kivilinna bc6b89237a rtlwifi: usb: allocate URB control message setup_packet and data buffer separately
rtlwifi allocates both setup_packet and data buffer of control message urb,
using shared kmalloc in _usbctrl_vendorreq_async_write. Structure used for
allocating is:
	struct {
		u8 data[254];
		struct usb_ctrlrequest dr;
	};

Because 'struct usb_ctrlrequest' is __packed, setup packet is unaligned and
DMA mapping of both 'data' and 'dr' confuses ARM/sunxi, leading to memory
corruptions and freezes.

Patch changes setup packet to be allocated separately.

[v2]:
 - Use WARN_ON_ONCE instead of WARN_ON

Cc: <stable@vger.kernel.org>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-02-18 15:30:40 -05:00
..
rtl8192c rtlwifi: rtl8192c: Fix W=1 warning 2013-02-01 14:27:26 -05:00
rtl8192ce mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
rtl8192cu rtlwifi: rtl8192cu: Add new USB ID 2013-02-08 14:51:43 -05:00
rtl8192de mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
rtl8192se mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
rtl8723ae mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
base.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-02-15 13:59:53 -05:00
base.h rtlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new driver 2012-11-14 14:55:31 -05:00
cam.c rtlwifi: use eth_zero_addr() to assign zero address 2012-11-16 14:29:07 -05:00
cam.h
core.c mac80211: split TX aggregation stop action 2013-01-03 13:01:42 +01:00
core.h
debug.c
debug.h rtlwifi: Modify files for addition of rtl8723ae 2012-11-14 14:55:30 -05:00
efuse.c wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
efuse.h
Kconfig rtlwifi: Rework Kconfig 2013-02-14 14:24:06 -05:00
Makefile rtlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new driver 2012-11-14 14:55:31 -05:00
pci.c rtlwifi: Fix warning for unchecked pci_map_single() call 2013-01-02 14:38:31 -05:00
pci.h rtlwifi: remove __dev* attributes 2012-12-06 15:06:15 -05:00
ps.c wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
ps.h
rc.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-02-15 13:59:53 -05:00
rc.h
regd.c wireless: make the reg_notifier() void 2013-01-14 11:32:44 +01:00
regd.h wireless: make the reg_notifier() void 2013-01-14 11:32:44 +01:00
stats.c rtlwifi: rtl8192ce: rtl8192cu: rtl8192se: rtl81723ae: Turn on building of the new driver 2012-11-14 14:55:31 -05:00
stats.h rtlwifi: Modify files for addition of rtl8723ae 2012-11-14 14:55:30 -05:00
usb.c rtlwifi: usb: allocate URB control message setup_packet and data buffer separately 2013-02-18 15:30:40 -05:00
usb.h rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id 2013-02-08 14:51:34 -05:00
wifi.h rtlwifi: Fix many compile warnings when using W=1 2013-02-01 14:27:25 -05:00