linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: [RESEND] [PATCH 3/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/fec.c
       [not found] ` <20050108170433.32690.82747.72350@localhost.localdomain>
@ 2005-01-10 11:56   ` Marcelo Tosatti
  0 siblings, 0 replies; 2+ messages in thread
From: Marcelo Tosatti @ 2005-01-10 11:56 UTC (permalink / raw)
  To: James Nelson; +Cc: linuxppc-dev, paulus, linux-kernel


Looks OK to me.

 Dan, Tom, this should be applied to the linuxppc-2.5 IMO.

On Sat, Jan 08, 2005 at 11:04:15AM -0600, James Nelson wrote:
> Replace save_flags()/resore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore()
> and document reasons for locking.
> 
> Signed-off-by: James Nelson <james4765@gmail.com>
> 
> diff -urN --exclude='*~' linux-2.6.10-mm1-original/arch/ppc/8xx_io/fec.c linux-2.6.10-mm1/arch/ppc/8xx_io/fec.c
> --- linux-2.6.10-mm1-original/arch/ppc/8xx_io/fec.c	2004-12-24 16:35:28.000000000 -0500
> +++ linux-2.6.10-mm1/arch/ppc/8xx_io/fec.c	2005-01-07 19:58:55.806516338 -0500
> @@ -389,6 +389,7 @@
>  	flush_dcache_range((unsigned long)skb->data,
>  			   (unsigned long)skb->data + skb->len);
>  
> +	/* disable interrupts while triggering transmit */
>  	spin_lock_irq(&fep->lock);
>  
>  	/* Send it on its way.  Tell FEC its ready, interrupt when done,
> @@ -539,6 +540,7 @@
>  	struct	sk_buff	*skb;
>  
>  	fep = dev->priv;
> +	/* lock while transmitting */
>  	spin_lock(&fep->lock);
>  	bdp = fep->dirty_tx;
>  
> @@ -799,6 +801,7 @@
>  
>  	if ((mip = mii_head) != NULL) {
>  		ep->fec_mii_data = mip->mii_regval;
> +
>  	}
>  }
>  
> @@ -817,8 +820,8 @@
>  
>  	retval = 0;
>  
> -	save_flags(flags);
> -	cli();
> +	/* lock while modifying mii_list */
> +	spin_lock_irqsave(&fep->lock, flags);
>  
>  	if ((mip = mii_free) != NULL) {
>  		mii_free = mip->mii_next;
> @@ -836,7 +839,7 @@
>  		retval = 1;
>  	}
>  
> -	restore_flags(flags);
> +	spin_unlock_irqrestore(&fep->lock, flags);
>  
>  	return(retval);
>  }

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [RESEND] [PATCH 0/7] ppc: remove cli()/sti() from arch/ppc/*
       [not found] <20050108170406.32690.36989.11853@localhost.localdomain>
       [not found] ` <20050108170433.32690.82747.72350@localhost.localdomain>
@ 2005-01-11 22:46 ` Tom Rini
  1 sibling, 0 replies; 2+ messages in thread
From: Tom Rini @ 2005-01-11 22:46 UTC (permalink / raw)
  To: James Nelson; +Cc: linuxppc-dev, paulus, linux-kernel

On Sat, Jan 08, 2005 at 11:03:49AM -0600, James Nelson wrote:

> This series of patches is to remove the last cli()/sti() function calls in
> arch/ppc, and add spinlocks where necessary.

I'll push this to Andrew and hope they move from there, thanks.

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-01-11 22:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20050108170406.32690.36989.11853@localhost.localdomain>
     [not found] ` <20050108170433.32690.82747.72350@localhost.localdomain>
2005-01-10 11:56   ` [RESEND] [PATCH 3/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/fec.c Marcelo Tosatti
2005-01-11 22:46 ` [RESEND] [PATCH 0/7] ppc: remove cli()/sti() from arch/ppc/* Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).