Search Linux Wireless

Re: [PATCH] mac80211: Update stop_queues kdoc

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

 



2007/6/1, James Ketrenos <jketreno@xxxxxxxxxxxxxxx>:
Michael Wu wrote:
> A workaround could be implemented, but I currently don't see any cases where
> stopping/waking the queue outside of open/stop/tx is necessary or correct.

Is calling the ieee80211_stop_queue[s] from open/stop OK then?  The doc update said only in ops->tx.  Should the driver be calling it in the stop callback, or will the stack stop the queues for us?

iwlwifi currently calls ieee80211_stop_queue from the Tx handler and calls ieee80211_stop_queues in the event the adapter is reset (due to HW error, RF kill transition, hw tear down, etc.) as it asynchronously brings re-initializes the hardware.

Out of pure "design intuition", there seems to be a real difference
between stop_queue and stop_queues. In other words, stop_queues should
not be seen as just a shortcut for multi-ring devices, as each should
actually be called from different contexts:
- stop_queue will indeed stop one queue only, but stopping a single
queue seems to make sense only on tx (when a tx_ring gets full).
- stop_queues on the other hand means stop all queues, and this
should only be needed on stop, reset, etc (why would you stop all
queues on tx?). In this regard, a single ring device should probably
still call stop_queues in these contexts.
(The same difference makes sense for the wake_... counterparts)

--
Olivier Cornu
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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