Replace kfree_skb with dev_consume_skb_any in free_tx_desc, and
write_tx_pkt_wr that can be called in hard irq and other contexts.
Replace dev_kfree_skb with dev_kfree_skb_any in t3_eth_xmit that can
be called in hard irq and other contexts.
dev_kfree_skb is replaced with dev_kfree_skb_any in t3_eth_xmit as
that location is a packet drop, while kfree_skb in free_tx_desc,
and in write_tx_pkt_wr are places where packets are consumed
in a healthy manner.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
                        if (need_unmap)
                                unmap_skb(d->skb, q, cidx, pdev);
                        if (d->eop) {
-                               kfree_skb(d->skb);
+                               dev_consume_skb_any(d->skb);
                                d->skb = NULL;
                        }
                }
                        cpl->wr.wr_lo = htonl(V_WR_LEN(flits) | V_WR_GEN(gen) |
                                              V_WR_TID(q->token));
                        wr_gen2(d, gen);
-                       kfree_skb(skb);
+                       dev_consume_skb_any(skb);
                        return;
                }
 
         * anything shorter than an Ethernet header.
         */
        if (unlikely(skb->len < ETH_HLEN)) {
-               dev_kfree_skb(skb);
+               dev_kfree_skb_any(skb);
                return NETDEV_TX_OK;
        }