forked from Minki/linux
net: mac802154: Explain the use of ieee802154_wake/stop_queue()
It is not straightforward to the newcomer that a single skb can currently be sent at a time and that the internal process is to stop the queue when processing a frame before re-enabling it. Make this clear by documenting the ieee802154_wake/stop_queue() helpers. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Alexander Aring <aahringo@redhat.com> Link: https://lore.kernel.org/r/20220125122540.855604-4-miquel.raynal@bootlin.com Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
This commit is contained in:
parent
898db3b8f9
commit
c265a3a669
@ -464,6 +464,12 @@ void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb,
|
||||
* ieee802154_wake_queue - wake ieee802154 queue
|
||||
* @hw: pointer as obtained from ieee802154_alloc_hw().
|
||||
*
|
||||
* Tranceivers usually have either one transmit framebuffer or one framebuffer
|
||||
* for both transmitting and receiving. Hence, the core currently only handles
|
||||
* one frame at a time for each phy, which means we had to stop the queue to
|
||||
* avoid new skb to come during the transmission. The queue then needs to be
|
||||
* woken up after the operation.
|
||||
*
|
||||
* Drivers should use this function instead of netif_wake_queue.
|
||||
*/
|
||||
void ieee802154_wake_queue(struct ieee802154_hw *hw);
|
||||
@ -472,6 +478,12 @@ void ieee802154_wake_queue(struct ieee802154_hw *hw);
|
||||
* ieee802154_stop_queue - stop ieee802154 queue
|
||||
* @hw: pointer as obtained from ieee802154_alloc_hw().
|
||||
*
|
||||
* Tranceivers usually have either one transmit framebuffer or one framebuffer
|
||||
* for both transmitting and receiving. Hence, the core currently only handles
|
||||
* one frame at a time for each phy, which means we need to tell upper layers to
|
||||
* stop giving us new skbs while we are busy with the transmitted one. The queue
|
||||
* must then be stopped before transmitting.
|
||||
*
|
||||
* Drivers should use this function instead of netif_stop_queue.
|
||||
*/
|
||||
void ieee802154_stop_queue(struct ieee802154_hw *hw);
|
||||
|
Loading…
Reference in New Issue
Block a user