Loading drivers/net/bfin_mac.c +14 −3 Original line number Diff line number Diff line Loading @@ -980,12 +980,25 @@ static int bfin_mac_hard_start_xmit(struct sk_buff *skb, return NETDEV_TX_OK; } #define RX_ERROR_MASK (RX_LONG | RX_ALIGN | RX_CRC | RX_LEN | \ RX_FRAG | RX_ADDR | RX_DMAO | RX_PHY | RX_LATE | RX_RANGE) static void bfin_mac_rx(struct net_device *dev) { struct sk_buff *skb, *new_skb; unsigned short len; struct bfin_mac_local *lp __maybe_unused = netdev_priv(dev); /* check if frame status word reports an error condition * we which case we simply drop the packet */ if (current_rx_ptr->status.status_word & RX_ERROR_MASK) { printk(KERN_NOTICE DRV_NAME ": rx: receive error - packet dropped\n"); dev->stats.rx_dropped++; goto out; } /* allocate a new skb for next time receive */ skb = current_rx_ptr->skb; Loading Loading @@ -1024,11 +1037,9 @@ static void bfin_mac_rx(struct net_device *dev) netif_rx(skb); dev->stats.rx_packets++; dev->stats.rx_bytes += len; out: current_rx_ptr->status.status_word = 0x00000000; current_rx_ptr = current_rx_ptr->next; out: return; } /* interrupt routine to handle rx and error signal */ Loading Loading
drivers/net/bfin_mac.c +14 −3 Original line number Diff line number Diff line Loading @@ -980,12 +980,25 @@ static int bfin_mac_hard_start_xmit(struct sk_buff *skb, return NETDEV_TX_OK; } #define RX_ERROR_MASK (RX_LONG | RX_ALIGN | RX_CRC | RX_LEN | \ RX_FRAG | RX_ADDR | RX_DMAO | RX_PHY | RX_LATE | RX_RANGE) static void bfin_mac_rx(struct net_device *dev) { struct sk_buff *skb, *new_skb; unsigned short len; struct bfin_mac_local *lp __maybe_unused = netdev_priv(dev); /* check if frame status word reports an error condition * we which case we simply drop the packet */ if (current_rx_ptr->status.status_word & RX_ERROR_MASK) { printk(KERN_NOTICE DRV_NAME ": rx: receive error - packet dropped\n"); dev->stats.rx_dropped++; goto out; } /* allocate a new skb for next time receive */ skb = current_rx_ptr->skb; Loading Loading @@ -1024,11 +1037,9 @@ static void bfin_mac_rx(struct net_device *dev) netif_rx(skb); dev->stats.rx_packets++; dev->stats.rx_bytes += len; out: current_rx_ptr->status.status_word = 0x00000000; current_rx_ptr = current_rx_ptr->next; out: return; } /* interrupt routine to handle rx and error signal */ Loading