printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n", dev->name); 
if (netif_msg_link(tp)) { printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n", dev->name); } 
rtl8169_set_rx_mode(struct net_device *dev){	struct rtl8169_private *tp = netdev_priv(dev);	void __iomem *ioaddr = tp->mmio_addr;	unsigned long flags;	u32 mc_filter[2];	/* Multicast hash filter */	int i, rx_mode;	u32 tmp = 0;	if (dev->flags & IFF_PROMISC) {		/* Unconditionally log net taps. */		printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n",		       dev->name);		rx_mode =		    AcceptBroadcast | AcceptMulticast | AcceptMyPhys |		    AcceptAllPhys;		mc_filter[1] = mc_filter[0] = 0xffffffff;	} else if ((dev->mc_count > multicast_filter_limit)		   || (dev->flags & IFF_ALLMULTI)) {		/* Too many to filter perfectly -- accept all multicasts. */		rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;		mc_filter[1] = mc_filter[0] = 0xffffffff;	} else {		struct dev_mc_list *mclist;		rx_mode = AcceptBroadcast | AcceptMyPhys;		mc_filter[1] = mc_filter[0] = 0;		for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count;		     i++, mclist = mclist->next) {			int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26;			mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31);			rx_mode |= AcceptMulticast;		}	}	spin_lock_irqsave(&tp->lock, flags);	tmp = rtl8169_rx_config | rx_mode |	      (RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask);	RTL_W32(RxConfig, tmp);	RTL_W32(MAR0 + 0, mc_filter[0]);	RTL_W32(MAR0 + 4, mc_filter[1]);	spin_unlock_irqrestore(&tp->lock, flags);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b57b7e5a11c4e45565cf34d786d74ad35483fe83/r8169.c/clean/drivers/net/r8169.c