On Monday 02 July 2007 13:35, Michael Buesch wrote: > + netif_tx_lock_bh(mdev); > for (i = 0; i < hw->queues; i++) > ieee80211_stop_queue(hw, i); > + netif_tx_unlock_bh(mdev); Well, looks like this will break stopping all tx queues from the tx handler by deadlocking. It may be useless for bcm43xx to call ieee80211_stop_queue, but there are other drivers which rely on it. I would prefer to guarantee that the stack will not allow any more frames to be queued before calling stop/remove_interface on the last virtual interface. That should be true right now since the master interface is taken down before calling stop and remove_interface, so ieee80211_stop_queues shouldn't be necessary on device down. If this isn't the case, it should be fixed. Of course, the ieee80211_stop_queue deadlock should still get fixed eventually.. -Michael Wu
Attachment:
pgpUvN2WjH2q4.pgp
Description: PGP signature