myri10ge: ensure tx queues remain stopped
Ensure that our tx queues remain stopped when we stop them in myri10ge_close(). Not doing so can potentially lead to traffic being transmitted when the interface is removed, which can lead to NULL pointer dereferences. Signed-off-by: Jon Mason <mason@myri.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
81399ec683
commit
3b20b2dc5f
1 changed files with 2 additions and 1 deletions
|
@ -1461,7 +1461,8 @@ myri10ge_tx_done(struct myri10ge_slice_state *ss, int mcp_index)
|
|||
|
||||
/* start the queue if we've stopped it */
|
||||
if (netif_tx_queue_stopped(dev_queue) &&
|
||||
tx->req - tx->done < (tx->mask >> 1)) {
|
||||
tx->req - tx->done < (tx->mask >> 1) &&
|
||||
ss->mgp->running == MYRI10GE_ETH_RUNNING) {
|
||||
tx->wake_queue++;
|
||||
netif_tx_wake_queue(dev_queue);
|
||||
}
|
||||
|
|
Reference in a new issue