diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/sc92031.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/sc92031.c')
-rw-r--r-- | drivers/net/sc92031.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/net/sc92031.c b/drivers/net/sc92031.c index 8d6030022d14..d87c4787fffa 100644 --- a/drivers/net/sc92031.c +++ b/drivers/net/sc92031.c | |||
@@ -428,14 +428,14 @@ 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 | netdev_mc_count(dev) > 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; |
437 | 437 | ||
438 | for (mc_list = dev->mc_list; mc_list; mc_list = mc_list->next) { | 438 | netdev_for_each_mc_addr(mc_list, dev) { |
439 | u32 crc; | 439 | u32 crc; |
440 | unsigned bit = 0; | 440 | unsigned bit = 0; |
441 | 441 | ||
@@ -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 | } |
@@ -793,7 +793,7 @@ static void _sc92031_rx_tasklet(struct net_device *dev) | |||
793 | 793 | ||
794 | rx_len -= rx_size_align + 4; | 794 | rx_len -= rx_size_align + 4; |
795 | 795 | ||
796 | skb = netdev_alloc_skb(dev, pkt_size + NET_IP_ALIGN); | 796 | skb = netdev_alloc_skb_ip_align(dev, pkt_size); |
797 | if (unlikely(!skb)) { | 797 | if (unlikely(!skb)) { |
798 | if (printk_ratelimit()) | 798 | if (printk_ratelimit()) |
799 | printk(KERN_ERR "%s: Couldn't allocate a skb_buff for a packet of size %u\n", | 799 | printk(KERN_ERR "%s: Couldn't allocate a skb_buff for a packet of size %u\n", |
@@ -801,8 +801,6 @@ static void _sc92031_rx_tasklet(struct net_device *dev) | |||
801 | goto next; | 801 | goto next; |
802 | } | 802 | } |
803 | 803 | ||
804 | skb_reserve(skb, NET_IP_ALIGN); | ||
805 | |||
806 | if ((rx_ring_offset + pkt_size) > RX_BUF_LEN) { | 804 | if ((rx_ring_offset + pkt_size) > RX_BUF_LEN) { |
807 | memcpy(skb_put(skb, RX_BUF_LEN - rx_ring_offset), | 805 | memcpy(skb_put(skb, RX_BUF_LEN - rx_ring_offset), |
808 | rx_ring + rx_ring_offset, RX_BUF_LEN - rx_ring_offset); | 806 | rx_ring + rx_ring_offset, RX_BUF_LEN - rx_ring_offset); |
@@ -1591,7 +1589,7 @@ out: | |||
1591 | return 0; | 1589 | return 0; |
1592 | } | 1590 | } |
1593 | 1591 | ||
1594 | static struct pci_device_id sc92031_pci_device_id_table[] __devinitdata = { | 1592 | static DEFINE_PCI_DEVICE_TABLE(sc92031_pci_device_id_table) = { |
1595 | { PCI_DEVICE(PCI_VENDOR_ID_SILAN, 0x2031) }, | 1593 | { PCI_DEVICE(PCI_VENDOR_ID_SILAN, 0x2031) }, |
1596 | { PCI_DEVICE(PCI_VENDOR_ID_SILAN, 0x8139) }, | 1594 | { PCI_DEVICE(PCI_VENDOR_ID_SILAN, 0x8139) }, |
1597 | { PCI_DEVICE(0x1088, 0x2031) }, | 1595 | { PCI_DEVICE(0x1088, 0x2031) }, |