printk(KERN_INFO "%s: Entering promiscuous mode.\n", dev->name); 
if (netif_msg_drv(priv)) printk(KERN_INFO "%s: Entering promiscuous mode.\n", dev->name); 
static void gfar_set_multi(struct net_device *dev){	struct dev_mc_list *mc_ptr;	struct gfar_private *priv = netdev_priv(dev);	struct gfar *regs = priv->regs;	u32 tempval;	if(dev->flags & IFF_PROMISC) {		printk(KERN_INFO "%s: Entering promiscuous mode.\n",				dev->name);		/* Set RCTRL to PROM */		tempval = gfar_read(&regs->rctrl);		tempval |= RCTRL_PROM;		gfar_write(&regs->rctrl, tempval);	} else {		/* Set RCTRL to not PROM */		tempval = gfar_read(&regs->rctrl);		tempval &= ~(RCTRL_PROM);		gfar_write(&regs->rctrl, tempval);	}		if(dev->flags & IFF_ALLMULTI) {		/* Set the hash to rx all multicast frames */		gfar_write(&regs->gaddr0, 0xffffffff);		gfar_write(&regs->gaddr1, 0xffffffff);		gfar_write(&regs->gaddr2, 0xffffffff);		gfar_write(&regs->gaddr3, 0xffffffff);		gfar_write(&regs->gaddr4, 0xffffffff);		gfar_write(&regs->gaddr5, 0xffffffff);		gfar_write(&regs->gaddr6, 0xffffffff);		gfar_write(&regs->gaddr7, 0xffffffff);	} else {		/* zero out the hash */		gfar_write(&regs->gaddr0, 0x0);		gfar_write(&regs->gaddr1, 0x0);		gfar_write(&regs->gaddr2, 0x0);		gfar_write(&regs->gaddr3, 0x0);		gfar_write(&regs->gaddr4, 0x0);		gfar_write(&regs->gaddr5, 0x0);		gfar_write(&regs->gaddr6, 0x0);		gfar_write(&regs->gaddr7, 0x0);		if(dev->mc_count == 0)			return;		/* Parse the list, and set the appropriate bits */		for(mc_ptr = dev->mc_list; mc_ptr; mc_ptr = mc_ptr->next) {			gfar_set_hash_for_addr(dev, mc_ptr->dmi_addr);		}	}	return;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0bbaf069f053957e8d733784e18a2992afd1dd3c/gianfar.c/buggy/drivers/net/gianfar.c