Reported and fixed by Cindy H Kao.

When the device is stopped __i2400m_dev_stop() stops the network
queue.

However, when this is done in the middle of heavy network operation,
when the bus-specific subdriver is still wrapping up and it reports a
sent TX transaction with _tx_msg_sent() right after the device was
stopped, the queue was being started again, which was causing a stream
of oopsen and finally a panic.

In any case, said call has no place there. It's a left over from an
early implementation that was discarded later on.

Signed-off-by: Inaky Perez-Gonzalez <[email protected]>
---
 drivers/net/wimax/i2400m/tx.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wimax/i2400m/tx.c b/drivers/net/wimax/i2400m/tx.c
index 613a88f..8ef724d 100644
--- a/drivers/net/wimax/i2400m/tx.c
+++ b/drivers/net/wimax/i2400m/tx.c
@@ -773,7 +773,6 @@ void i2400m_tx_msg_sent(struct i2400m *i2400m)
        n = i2400m->tx_out / I2400M_TX_BUF_SIZE;
        i2400m->tx_out %= I2400M_TX_BUF_SIZE;
        i2400m->tx_in -= n * I2400M_TX_BUF_SIZE;
-       netif_start_queue(i2400m->wimax_dev.net_dev);
        spin_unlock_irqrestore(&i2400m->tx_lock, flags);
        d_fnend(3, dev, "(i2400m %p) = void\n", i2400m);
 }
-- 
1.6.2.3

_______________________________________________
wimax mailing list
[email protected]
http://lists.linuxwimax.org/listinfo/wimax

Reply via email to