mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
qeth: buffer count imbalance
The used buffers counter is not incremented in case of an error so the counter can become negative. Increment the used buffers counter before checking for errors. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
91d4576bfe
commit
a6a5ff2697
@ -2840,6 +2840,7 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
|
||||
queue->card->perf_stats.outbound_do_qdio_time +=
|
||||
qeth_get_micros() -
|
||||
queue->card->perf_stats.outbound_do_qdio_start_time;
|
||||
atomic_add(count, &queue->used_buffers);
|
||||
if (rc) {
|
||||
queue->card->stats.tx_errors += count;
|
||||
/* ignore temporary SIGA errors without busy condition */
|
||||
@ -2853,7 +2854,6 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
|
||||
qeth_schedule_recovery(queue->card);
|
||||
return;
|
||||
}
|
||||
atomic_add(count, &queue->used_buffers);
|
||||
if (queue->card->options.performance_stats)
|
||||
queue->card->perf_stats.bufs_sent += count;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user