diff options
| -rw-r--r-- | drivers/net/ethernet/allwinner/sun4i-emac.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c index d81e7167a8b5..29b9f082475d 100644 --- a/drivers/net/ethernet/allwinner/sun4i-emac.c +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c | |||
| @@ -633,8 +633,10 @@ static void emac_rx(struct net_device *dev) | |||
| 633 | } | 633 | } |
| 634 | 634 | ||
| 635 | /* Move data from EMAC */ | 635 | /* Move data from EMAC */ |
| 636 | skb = dev_alloc_skb(rxlen + 4); | 636 | if (good_packet) { |
| 637 | if (good_packet && skb) { | 637 | skb = netdev_alloc_skb(dev, rxlen + 4); |
| 638 | if (!skb) | ||
| 639 | continue; | ||
| 638 | skb_reserve(skb, 2); | 640 | skb_reserve(skb, 2); |
| 639 | rdptr = (u8 *) skb_put(skb, rxlen - 4); | 641 | rdptr = (u8 *) skb_put(skb, rxlen - 4); |
| 640 | 642 | ||
