[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 2005-12-05 13:17:53.000000000 +0300 +++ linux-kj/drivers/net/fec.c 2005-12-05 13:20:00.000000000 +0300 @@ -692,10 +692,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"); @@ -711,6 +714,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 @@ -728,8 +733,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; @@ -749,7 +753,7 @@ mii_queue(struct net_device *dev, int re retval = 1; } - restore_flags(flags); + spin_unlock_irqrestore(&mii_lock, flags); return(retval); }