Search Linux Wireless

Re: [PATCH] mac80211: detect driver tx bugs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2008-06-15 at 14:47 +0200, Johannes Berg wrote:
> When a driver rejects a frame in it's ->tx() callback, it must also
> stop queues, otherwise mac80211 can go into a loop here. Detect this
> situation and abort the loop after five retries, warning about the
> driver bug.
> 
> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
> ---
> This fixes resume with connected device with b43 for me, the warning
> triggers.

For reference:

[  177.789427] b43-phy0 debug: Resuming...
[  177.816496] ------------[ cut here ]------------
[  177.816663] Badness at net/mac80211/tx.c:1197
[  177.816813] NIP: f24fadfc LR: f24fae18 CTR: c0324458
[  177.816983] REGS: eec27ce0 TRAP: 0700   Not tainted  (2.6.26-rc6-wl-10526-ga0d3022-dirty)
[  177.817248] MSR: 00029032 <EE,ME,IR,DR>  CR: 28000084  XER: 20000000
[  177.817590] TASK = ef964e60[1050] 'b43' THREAD: eec26000
[  177.817766] GPR00: 00000001 eec27d90 ef964e60 00000001 00009032 eec27d98 00000000 00000001 
[  177.818200] GPR08: f2548b3c eec2a480 00000000 00000000 00000001 00000000 017b7354 017b70c8 
[  177.818633] GPR16: 41400000 00240e64 00000000 c03e03e0 ffffffff c06315bc eec28000 eec26000 
[  177.819066] GPR24: eec27d98 00000000 00000420 00000001 eedc18c0 efbd8220 efbd8788 00000006 
[  177.819514] NIP [f24fadfc] ieee80211_master_start_xmit+0x334/0x504 [mac80211]
[  177.819843] LR [f24fae18] ieee80211_master_start_xmit+0x350/0x504 [mac80211]
[  177.820984] Call Trace:
[  177.821908] [eec27d90] [f24fae18] ieee80211_master_start_xmit+0x350/0x504 [mac80211] (unreliable)
[  177.823110] [eec27df0] [c027b3f4] dev_hard_start_xmit+0x320/0x3a4
[  177.824184] [eec27e30] [c028e3d4] __qdisc_run+0x248/0x27c
[  177.825238] [eec27e70] [c027b8bc] dev_queue_xmit+0x2e8/0x3b4
[  177.826300] [eec27e90] [f24ecb00] ieee80211_sta_tx+0x74/0x88 [mac80211]
[  177.827414] [eec27eb0] [f24ef200] ieee80211_associated+0x154/0x1e8 [mac80211]
[  177.828541] [eec27ef0] [f24f1054] ieee80211_sta_work+0x57c/0x700 [mac80211]
[  177.829662] [eec27f60] [c0043278] run_workqueue+0xc0/0x164
[  177.830723] [eec27f90] [c0043634] worker_thread+0xb0/0x134
[  177.831782] [eec27fd0] [c00479e4] kthread+0x50/0x88
[  177.832824] [eec27ff0] [c0012500] kernel_thread+0x44/0x60
[  177.833889] Instruction dump:
[  177.834855] 7d29d214 80090004 700b0001 408200c0 7c00f028 7c00d878 7c00f12d 40a2fff4 
[  177.836106] 3bff0001 2f9f0005 7c000026 5400f7fe <0f000000> 2f800000 409e00dc 7fa3eb78 
[  177.966351] b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)
[  178.176634] b43-phy0 debug: Chip initialized
[  178.180244] b43-phy0 debug: 30-bit DMA initialized
[  178.180734] b43-phy0 debug: Wireless interface started
[  178.180744] b43-phy0 debug: Device resumed.

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux