diff options
Diffstat (limited to 'drivers/net/sc92031.c')
-rw-r--r-- | drivers/net/sc92031.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/sc92031.c b/drivers/net/sc92031.c index b7e0eb40a8bd..e35050322f97 100644 --- a/drivers/net/sc92031.c +++ b/drivers/net/sc92031.c | |||
@@ -428,9 +428,9 @@ static void _sc92031_set_mar(struct net_device *dev) | |||
428 | void __iomem *port_base = priv->port_base; | 428 | void __iomem *port_base = priv->port_base; |
429 | u32 mar0 = 0, mar1 = 0; | 429 | u32 mar0 = 0, mar1 = 0; |
430 | 430 | ||
431 | if ((dev->flags & IFF_PROMISC) | 431 | if ((dev->flags & IFF_PROMISC) || |
432 | || dev->mc_count > multicast_filter_limit | 432 | dev->mc_count > multicast_filter_limit || |
433 | || (dev->flags & IFF_ALLMULTI)) | 433 | (dev->flags & IFF_ALLMULTI)) |
434 | mar0 = mar1 = 0xffffffff; | 434 | mar0 = mar1 = 0xffffffff; |
435 | else if (dev->flags & IFF_MULTICAST) { | 435 | else if (dev->flags & IFF_MULTICAST) { |
436 | struct dev_mc_list *mc_list; | 436 | struct dev_mc_list *mc_list; |
@@ -777,10 +777,10 @@ static void _sc92031_rx_tasklet(struct net_device *dev) | |||
777 | 777 | ||
778 | rx_ring_offset = (rx_ring_offset + 4) % RX_BUF_LEN; | 778 | rx_ring_offset = (rx_ring_offset + 4) % RX_BUF_LEN; |
779 | 779 | ||
780 | if (unlikely(rx_status == 0 | 780 | if (unlikely(rx_status == 0 || |
781 | || rx_size > (MAX_ETH_FRAME_SIZE + 4) | 781 | rx_size > (MAX_ETH_FRAME_SIZE + 4) || |
782 | || rx_size < 16 | 782 | rx_size < 16 || |
783 | || !(rx_status & RxStatesOK))) { | 783 | !(rx_status & RxStatesOK))) { |
784 | _sc92031_rx_tasklet_error(dev, rx_status, rx_size); | 784 | _sc92031_rx_tasklet_error(dev, rx_status, rx_size); |
785 | break; | 785 | break; |
786 | } | 786 | } |