On Mon, 2014-03-24 at 23:05 -0700, Eric W. Biederman wrote: > From: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > > Replace dev_kfree_skb with dev_kfree_skb_any in enic_hard_start_xmit > that can be called in hard irq and other contexts. > > enic_hard_start_xmit only frees the skb when dropping it. > > Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > --- > drivers/net/ethernet/cisco/enic/enic_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c > index 4c35fc8fad99..2945718ce806 100644 > --- a/drivers/net/ethernet/cisco/enic/enic_main.c > +++ b/drivers/net/ethernet/cisco/enic/enic_main.c > @@ -521,7 +521,7 @@ static netdev_tx_t enic_hard_start_xmit(struct sk_buff *skb, > unsigned int txq_map; > > if (skb->len <= 0) { > - dev_kfree_skb(skb); > + dev_kfree_skb_any(skb); > return NETDEV_TX_OK; > } > > @@ -536,7 +536,7 @@ static netdev_tx_t enic_hard_start_xmit(struct sk_buff *skb, > if (skb_shinfo(skb)->gso_size == 0 && > skb_shinfo(skb)->nr_frags + 1 > ENIC_NON_TSO_MAX_DESC && > skb_linearize(skb)) { > - dev_kfree_skb(skb); > + dev_kfree_skb_any(skb); > return NETDEV_TX_OK; > } > Yep, apparently this driver do not care incrementing tx_errors... Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html