linux/drivers/net/wireless/ath/carl9170
Ronald Wahl 671796dd96 carl9170: fix sending URBs with wrong type when using full-speed
The driver assumes that endpoint 4 is always an interrupt endpoint.
Unfortunately the type differs between high-speed and full-speed
configurations while in the former case it is indeed an interrupt
endpoint this is not true for the latter case - here it is a bulk
endpoint. When sending URBs with the wrong type the kernel will
generate a warning message including backtrace. In this specific
case there will be a huge amount of warnings which can bring the system
to freeze.

To fix this we are now sending URBs to endpoint 4 using the type
found in the endpoint descriptor.

A side note: The carl9170 firmware currently specifies endpoint 4 as
interrupt endpoint even in the full-speed configuration but this has
no relevance because before this firmware is loaded the endpoint type
is as described above and after the firmware is running the stick is not
reenumerated and so the old descriptor is used.

Signed-off-by: Ronald Wahl <ronald.wahl@raritan.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-11 14:43:51 -04:00
..
carl9170.h carl9170: fix sending URBs with wrong type when using full-speed 2014-08-11 14:43:51 -04:00
cmd.c
cmd.h
debug.c wireless: delete non-required instances of include <linux/init.h> 2014-01-03 15:37:01 -05:00
debug.h
eeprom.h
fw.c
fwcmd.h
fwdesc.h
hw.h
Kconfig
led.c
mac.c
main.c mac80211: add vif to flush call 2014-04-09 10:55:29 +02:00
Makefile
phy.c carl9170: remove unnecessary break after return 2014-07-20 21:29:51 -07:00
phy.h
rx.c carl9170: Remove casts of pointer to same type 2014-03-27 14:20:05 -04:00
tx.c wireless: delete non-required instances of include <linux/init.h> 2014-01-03 15:37:01 -05:00
usb.c carl9170: fix sending URBs with wrong type when using full-speed 2014-08-11 14:43:51 -04:00
version.h
wlan.h