[PATCH] fec.c: cli() cleanup From: Brandon Niemczyk Replace calls to save_flags(); cli() with spinlocks. Also make some global variables that aren't used anywhere or declared in a header static. Signed-off-by: Brandon Niemczyk Signed-off-by: Alexey Dobriyan Index: linux-kj/drivers/net/fec.c =================================================================== --- linux-kj.orig/drivers/net/fec.c +++ linux-kj/drivers/net/fec.c @@ -684,10 +684,13 @@ fec_enet_mii(struct net_device *dev) volatile fec_t *ep; mii_list_t *mip; uint mii_reg; + unsigned long flags; fep = netdev_priv(dev); ep = fep->hwp; mii_reg = ep->fec_mii_data; + + spin_lock_irqsave(&mii_lock, flags); if ((mip = mii_head) == NULL) { printk("MII and no head!\n"); @@ -703,6 +706,8 @@ fec_enet_mii(struct net_device *dev) if ((mip = mii_head) != NULL) ep->fec_mii_data = mip->mii_regval; + + spin_unlock_irqrestore(&mii_lock, flags); } static int @@ -720,8 +725,7 @@ mii_queue(struct net_device *dev, int re retval = 0; - save_flags(flags); - cli(); + spin_lock_irqsave(&mii_lock, flags); if ((mip = mii_free) != NULL) { mii_free = mip->mii_next; @@ -741,7 +745,7 @@ mii_queue(struct net_device *dev, int re retval = 1; } - restore_flags(flags); + spin_unlock_irqrestore(&mii_lock, flags); return(retval); }