aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-01-05 06:47:59 -0500
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2011-01-05 06:47:29 -0500
commitaa3a41d009d433dd9775b356b2d70551816f1f3c (patch)
treeb1ea7f491edfef628ccd663e1a762f42119114b2 /drivers/s390/net
parent4bc4e965d3e86897e4c7c487a477ccdf13db5b82 (diff)
[S390] 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: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_core_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index f65320babf71..29f848bfc12f 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -2840,6 +2840,7 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
2840 queue->card->perf_stats.outbound_do_qdio_time += 2840 queue->card->perf_stats.outbound_do_qdio_time +=
2841 qeth_get_micros() - 2841 qeth_get_micros() -
2842 queue->card->perf_stats.outbound_do_qdio_start_time; 2842 queue->card->perf_stats.outbound_do_qdio_start_time;
2843 atomic_add(count, &queue->used_buffers);
2843 if (rc) { 2844 if (rc) {
2844 queue->card->stats.tx_errors += count; 2845 queue->card->stats.tx_errors += count;
2845 /* ignore temporary SIGA errors without busy condition */ 2846 /* ignore temporary SIGA errors without busy condition */
@@ -2853,7 +2854,6 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
2853 qeth_schedule_recovery(queue->card); 2854 qeth_schedule_recovery(queue->card);
2854 return; 2855 return;
2855 } 2856 }
2856 atomic_add(count, &queue->used_buffers);
2857 if (queue->card->options.performance_stats) 2857 if (queue->card->options.performance_stats)
2858 queue->card->perf_stats.bufs_sent += count; 2858 queue->card->perf_stats.bufs_sent += count;
2859} 2859}