diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index e1ceb37ef12..c611cffa788 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -4467,10 +4467,11 @@ static netdev_tx_t igb_xmit_frame(struct sk_buff *skb,  	 * The minimum packet size with TCTL.PSP set is 17 so pad the skb  	 * in order to meet this minimum size requirement.  	 */ -	if (skb->len < 17) { -		if (skb_padto(skb, 17)) +	if (unlikely(skb->len < 17)) { +		if (skb_pad(skb, 17 - skb->len))  			return NETDEV_TX_OK;  		skb->len = 17; +		skb_set_tail_pointer(skb, 17);  	}  	return igb_xmit_frame_ring(skb, igb_tx_queue_mapping(adapter, skb));  |