2015-03-07 18:46:13

by Giedrius Statkevičius

[permalink] [raw]
Subject: [PATCH] rt2x00: use rt2x00queue_flush_queues() instead of implementing the same action

Use rt2x00queue_flush_queues() in rt2x00mac_flush() instead of
reimplementing the same actions the second time. Also, now it flushes
the rx queue aswell which it didn't before and that makes it completely
do what it's supposed to do according to struct iee80211_ops: flush()
must flush all queues.

Signed-off-by: Giedrius Statkevičius <[email protected]>
---
drivers/net/wireless/rt2x00/rt2x00mac.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index 300876d..5bc48c3 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -756,13 +756,11 @@ void rt2x00mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
u32 queues, bool drop)
{
struct rt2x00_dev *rt2x00dev = hw->priv;
- struct data_queue *queue;

if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
return;

- tx_queue_for_each(rt2x00dev, queue)
- rt2x00queue_flush_queue(queue, drop);
+ rt2x00queue_flush_queues(rt2x00dev, drop);
}
EXPORT_SYMBOL_GPL(rt2x00mac_flush);

--
2.3.1



2015-03-08 10:40:56

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH] rt2x00: use rt2x00queue_flush_queues() instead of implementing the same action

On Sat, Mar 07, 2015 at 08:45:50PM +02iee80211_ops00, Giedrius Statkevičius wrote:
> Use rt2x00queue_flush_queues() in rt2x00mac_flush() instead of
> reimplementing the same actions the second time. Also, now it flushes
> the rx queue aswell which it didn't before and that makes it completely
> do what it's supposed to do according to struct iee80211_ops: flush()
> must flush all queues.

NACK, RX queue should not be flushed, mac80211 flush is about TX queues
only.

Stanislaw