diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-05-08 11:58:51 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-11 06:30:18 -0400 |
commit | fff1068559a2ae00a036b80c5df3c564fc6c6305 (patch) | |
tree | be56841153c1bb258e7d535a9c84a851336c4ffa /drivers | |
parent | fb10167478a3a8e29fe122a7bf4c67b5cfc48a1b (diff) |
wimax/i2400m: don't call netif_start_queue() in _tx_msg_sent()
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 <inaky@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | 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 613a88ffd651..8ef724d31fbf 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) | |||
773 | n = i2400m->tx_out / I2400M_TX_BUF_SIZE; | 773 | n = i2400m->tx_out / I2400M_TX_BUF_SIZE; |
774 | i2400m->tx_out %= I2400M_TX_BUF_SIZE; | 774 | i2400m->tx_out %= I2400M_TX_BUF_SIZE; |
775 | i2400m->tx_in -= n * I2400M_TX_BUF_SIZE; | 775 | i2400m->tx_in -= n * I2400M_TX_BUF_SIZE; |
776 | netif_start_queue(i2400m->wimax_dev.net_dev); | ||
777 | spin_unlock_irqrestore(&i2400m->tx_lock, flags); | 776 | spin_unlock_irqrestore(&i2400m->tx_lock, flags); |
778 | d_fnend(3, dev, "(i2400m %p) = void\n", i2400m); | 777 | d_fnend(3, dev, "(i2400m %p) = void\n", i2400m); |
779 | } | 778 | } |