linux/drivers/net/wireless/b43
Iestyn C. Elfick b251412db9 b43: A fix for DMA transmission sequence errors
Intermittently, b43 will report "Out of order TX status report on DMA ring".
When this happens, the driver must be reset before communication can resume.
The cause of the problem is believed to be an error in the closed-source
firmware; however, all versions of the firmware are affected.

This change uses the observation that the expected status is always 2 less
than the observed value, and supplies a fake status report to skip one
header/data pair.

Not all devices suffer from this problem, but it can occur several times
per second under heavy load. As each occurence kills the unmodified driver,
this patch makes if possible for the affected devices to function. The patch
logs only the first instance of the reset operation to prevent spamming
the logs.

Tested-by: Chris Vine <chris@cvine.freeserve.co.uk>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-27 11:07:04 -04:00
..
b43.h b43: Fix firmware loading when driver is built into the kernel 2013-01-07 14:34:45 -05:00
bus.c bcma: add boardinfo struct 2012-05-16 12:45:21 -04:00
bus.h
debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
debugfs.h
dma.c b43: A fix for DMA transmission sequence errors 2013-03-27 11:07:04 -04:00
dma.h b43: Increase number of RX DMA slots 2013-02-19 00:51:08 -05:00
Kconfig drivers/net/wireless/b43: remove depends on CONFIG_EXPERIMENTAL 2013-01-22 12:01:35 -08:00
leds.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
leds.h
lo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
lo.h
main.c b43: Fix lockdep splat on module unload 2013-02-25 15:47:41 -05:00
main.h b43: Fix firmware loading when driver is built into the kernel 2013-01-07 14:34:45 -05:00
Makefile b43: N-PHY: init 0x2057 radio 2012-08-06 14:56:35 -04:00
pcmcia.c b43: remove __dev* attributes 2012-12-06 15:04:56 -05:00
pcmcia.h
phy_a.c
phy_a.h
phy_common.c b43: add helper waiting for given value in radio reg 2012-08-06 14:56:35 -04:00
phy_common.h b43: add helper waiting for given value in radio reg 2012-08-06 14:56:35 -04:00
phy_g.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
phy_g.h
phy_ht.c
phy_ht.h
phy_lcn.c
phy_lcn.h
phy_lp.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
phy_lp.h
phy_n.c b43: N-PHY: increase initial value of "mind" in RSSI calibration 2013-03-27 11:07:04 -04:00
phy_n.h b43: N-PHY: finish 0x2056 radio setup 2012-08-06 14:56:35 -04:00
pio.c b43: fix tx path skb leaks 2012-12-10 15:49:59 -05:00
pio.h
radio_2055.c
radio_2055.h
radio_2056.c b43: N-PHY: finish 2.4GHz 0x2056 radio setup 2011-12-13 15:33:56 -05:00
radio_2056.h b43: N-PHY: finish 2.4GHz 0x2056 radio setup 2011-12-13 15:33:56 -05:00
radio_2057.c b43: N-PHY: init 0x2057 radio 2012-08-06 14:56:35 -04:00
radio_2057.h b43: N-PHY: init 0x2057 radio 2012-08-06 14:56:35 -04:00
radio_2059.c
radio_2059.h
rfkill.c
rfkill.h
sdio.c b43: remove __dev* attributes 2012-12-06 15:04:56 -05:00
sdio.h
sysfs.c
sysfs.h
tables.c
tables.h
tables_lpphy.c
tables_lpphy.h
tables_nphy.c b43: N-PHY: fix gain in b43_nphy_get_gain_ctl_workaround_ent() 2013-01-22 16:01:29 -05:00
tables_nphy.h b43: N-PHY: add overriding RF control for rev7+ 2012-08-06 15:01:56 -04:00
tables_phy_ht.c
tables_phy_ht.h
tables_phy_lcn.c
tables_phy_lcn.h
wa.c
wa.h
xmit.c mac80211: support RX_FLAG_MACTIME_END 2012-11-13 21:43:55 +01:00
xmit.h b43: HT-PHY: report signal to mac80211 2011-11-07 13:19:12 -05:00