Skip to content

Commit ca09bf7

Browse files
Lijun Pandavem330
authored andcommitted
ibmvnic: correctly use dev_consume/free_skb_irq
It is more correct to use dev_kfree_skb_irq when packets are dropped, and to use dev_consume_skb_irq when packets are consumed. Fixes: 0d97338 ("ibmvnic: Introduce xmit_more support using batched subCRQ hcalls") Suggested-by: Thomas Falcon <[email protected]> Signed-off-by: Lijun Pan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 97684f0 commit ca09bf7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

drivers/net/ethernet/ibm/ibmvnic.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3204,9 +3204,6 @@ static int ibmvnic_complete_tx(struct ibmvnic_adapter *adapter,
32043204

32053205
next = ibmvnic_next_scrq(adapter, scrq);
32063206
for (i = 0; i < next->tx_comp.num_comps; i++) {
3207-
if (next->tx_comp.rcs[i])
3208-
dev_err(dev, "tx error %x\n",
3209-
next->tx_comp.rcs[i]);
32103207
index = be32_to_cpu(next->tx_comp.correlators[i]);
32113208
if (index & IBMVNIC_TSO_POOL_MASK) {
32123209
tx_pool = &adapter->tso_pool[pool];
@@ -3220,7 +3217,13 @@ static int ibmvnic_complete_tx(struct ibmvnic_adapter *adapter,
32203217
num_entries += txbuff->num_entries;
32213218
if (txbuff->skb) {
32223219
total_bytes += txbuff->skb->len;
3223-
dev_consume_skb_irq(txbuff->skb);
3220+
if (next->tx_comp.rcs[i]) {
3221+
dev_err(dev, "tx error %x\n",
3222+
next->tx_comp.rcs[i]);
3223+
dev_kfree_skb_irq(txbuff->skb);
3224+
} else {
3225+
dev_consume_skb_irq(txbuff->skb);
3226+
}
32243227
txbuff->skb = NULL;
32253228
} else {
32263229
netdev_warn(adapter->netdev,

0 commit comments

Comments
 (0)