Thread (24 messages) flat view 24 messages, 6 authors, 2012-07-05

Re: [PATCH net 1/7] qlge: Fixed packet transmit errors due to potential driver errors.

From: David Miller <davem@davemloft.net>
Date: 2012-07-03 23:14:26

From: Jitendra Kalsaria <redacted>
Date: Tue, 3 Jul 2012 12:38:04 -0700
This patch was intended to remove the line that increments the
tx_error statistic when the queue is correctly stopped.
It isn't correctly stopped, for the millionth time this condition is a
BUG, there is a kernel log message there because it is a BUG, are you
blind?
	if (unlikely(atomic_read(&tx_ring->tx_count) < 2)) {
		netif_info(qdev, tx_queued, qdev->ndev,
			   "%s: shutting down tx queue %d du to lack of resources.\n",
			   __func__, tx_ring_idx);
		netif_stop_subqueue(ndev, tx_ring->wq_id);
		atomic_inc(&tx_ring->queue_stopped);
		tx_ring->tx_errors++;
		return NETDEV_TX_BUSY;
	}

THIS CODE BLOCK SHOULD NEVER EXECUTE.  It's a driver bug, it should
never happen.

Even if the driver recovers correctly, it's still an error condition.

It's a bug, and bumping the statistic is not wrong at all.  You should
find out why this happens, because it's a bug, and it should be fixed.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help