Date: Tue, 25 Oct 2011 20:35:34 +0800 From: Adrian Chadd <adrian@freebsd.org> To: freebsd-wireless@freebsd.org Subject: Re: ath 11n update: locking, regressions, testing Message-ID: <CAJ-Vmok55BFdNAC7GPCmZTx3_NhA5X6R4bdwTiG05o9A1oM1Rg@mail.gmail.com> In-Reply-To: <CAJ-Vmo=9KkQbiCCBQm5Xm_9dNZtY6jQ1hzO0SWSZ4z323jF=Hw@mail.gmail.com> References: <CAJ-Vmo=9KkQbiCCBQm5Xm_9dNZtY6jQ1hzO0SWSZ4z323jF=Hw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
.. and here's another example LOR, this time between the net80211 node lock and the ath lock, again during raw TX. This occurs because of an ioctl call through setmlme_dropsta(), which holds the node lock whilst it calls domlme(), which sends a management frame via IEEE80211_SEND_MGMT ->ic_raw_xmit->ath_raw_xmit(). Again, I'm not entirely sure how to fix this. Adrian lock order reversal: 1st 0xc08316cc ath0_node_lock (ath0_node_lock) @ /data/freebsd/mips/if_ath_tx/src/sys/net80211/ieee80211_ioctl.c:1326 2nd 0x80a01440 ath0 (ath0) @ /data/freebsd/mips/if_ath_tx/src/sys/dev/ath/if_ath_tx.c:1716 KDB: stack backtrace: db_trace_thread+30 (?,?,?,?) ra 80361b8c sp c7be9750 sz 24 db_trace_self+1c (?,?,?,?) ra 80074dbc sp c7be9768 sz 24 80074d88+34 (?,?,?,?) ra 801e103c sp c7be9780 sz 416 kdb_backtrace+44 (?,?,?,?) ra 801f8f38 sp c7be9920 sz 24 801f8f04+34 (?,?,?,?) ra 801f9bf4 sp c7be9938 sz 32 witness_checkorder+9cc (?,?,803b67cc,6b4) ra 80199a50 sp c7be9958 sz 80 _mtx_lock_flags+c4 (?,?,?,?) ra 8008b064 sp c7be99a8 sz 48 ath_raw_xmit+60 (?,?,?,?) ra 802b20a0 sp c7be99d8 sz 128 ieee80211_mgmt_output+2a4 (?,?,?,?) ra 802b4fac sp c7be9a58 sz 64 ieee80211_send_mgmt+9e4 (?,?,?,?) ra 802a29d4 sp c7be9a98 sz 96 802a296c+68 (?,?,?,?) ra 802a3824 sp c7be9af8 sz 32 802a3710+114 (?,?,?,?) ra 802a3fac sp c7be9b18 sz 64 802a3f14+98 (?,?,?,?) ra 802a4778 sp c7be9b58 sz 72 802a4224+554 (?,?,?,?) ra 802a6434 sp c7be9ba0 sz 128 ieee80211_ioctl+2c8 (?,?,?,?) ra 802cc71c sp c7be9c20 sz 48 in_control+1c8 (?,?,?,?) ra 80265488 sp c7be9c50 sz 88 ifioctl+13cc (?,?,80aa9de0,8072e300) ra 80201a90 sp c7be9ca8 sz 144 soo_ioctl+3b0 (?,?,?,?) ra 801fc354 sp c7be9d38 sz 40 kern_ioctl+248 (?,?,?,?) ra 801fc4fc sp c7be9d60 sz 64 ioctl+130 (?,?,?,?) ra 80355b8c sp c7be9da0 sz 56 trap+8a4 (?,?,?,?) ra 8034e01c sp c7be9dd8 sz 168 MipsUserGenException+10c (?,?,?,40658290) ra 0 sp c7be9e80 sz 0 pid 171
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmok55BFdNAC7GPCmZTx3_NhA5X6R4bdwTiG05o9A1oM1Rg>
