devices/8139too-2.6.37-ethercat.c
changeset 2067 19732da2cf86
parent 2065 4d8c9a441ef6
child 2231 07a6c9cffb78
equal deleted inserted replaced
2065:4d8c9a441ef6 2067:19732da2cf86
  1782 {
  1782 {
  1783 	struct rtl8139_private *tp = netdev_priv(dev);
  1783 	struct rtl8139_private *tp = netdev_priv(dev);
  1784 	void __iomem *ioaddr = tp->mmio_addr;
  1784 	void __iomem *ioaddr = tp->mmio_addr;
  1785 	unsigned int entry;
  1785 	unsigned int entry;
  1786 	unsigned int len = skb->len;
  1786 	unsigned int len = skb->len;
  1787 	unsigned long flags;
  1787 	unsigned long flags = 0;
  1788 
  1788 
  1789 	/* Calculate the next Tx descriptor entry. */
  1789 	/* Calculate the next Tx descriptor entry. */
  1790 	entry = tp->cur_tx % NUM_TX_DESC;
  1790 	entry = tp->cur_tx % NUM_TX_DESC;
  1791 
  1791 
  1792 	/* Note: the chip doesn't have auto-pad! */
  1792 	/* Note: the chip doesn't have auto-pad! */
  2659 	if (dev->flags & IFF_PROMISC) {
  2659 	if (dev->flags & IFF_PROMISC) {
  2660 		rx_mode =
  2660 		rx_mode =
  2661 		    AcceptBroadcast | AcceptMulticast | AcceptMyPhys |
  2661 		    AcceptBroadcast | AcceptMulticast | AcceptMyPhys |
  2662 		    AcceptAllPhys;
  2662 		    AcceptAllPhys;
  2663 		mc_filter[1] = mc_filter[0] = 0xffffffff;
  2663 		mc_filter[1] = mc_filter[0] = 0xffffffff;
  2664 	} else if ((dev->mc_count > multicast_filter_limit)
  2664 	} else if ((netdev_mc_count(dev) > multicast_filter_limit) ||
  2665 		   || (dev->flags & IFF_ALLMULTI)) {
  2665 		   (dev->flags & IFF_ALLMULTI)) {
  2666 		/* Too many to filter perfectly -- accept all multicasts. */
  2666 		/* Too many to filter perfectly -- accept all multicasts. */
  2667 		rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;
  2667 		rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;
  2668 		mc_filter[1] = mc_filter[0] = 0xffffffff;
  2668 		mc_filter[1] = mc_filter[0] = 0xffffffff;
  2669 	} else {
  2669 	} else {
  2670 		struct netdev_hw_addr *ha;
  2670 		struct netdev_hw_addr *ha;