|
@@ -536,7 +536,8 @@ static int get_inbound_buffer_frontier(struct qdio_q *q)
|
|
|
case SLSB_P_INPUT_ERROR:
|
|
|
process_buffer_error(q, count);
|
|
|
q->first_to_check = add_buf(q->first_to_check, count);
|
|
|
- atomic_sub(count, &q->nr_buf_used);
|
|
|
+ if (atomic_sub_return(count, &q->nr_buf_used) == 0)
|
|
|
+ qperf_inc(q, inbound_queue_full);
|
|
|
if (q->irq_ptr->perf_stat_enabled)
|
|
|
account_sbals_error(q, count);
|
|
|
break;
|