From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: James Nelson <james4765@cwazy.co.uk>
Cc: linuxppc-dev@ozlabs.org, paulus@samba.org, linux-kernel@vger.kernel.org
Subject: Re: [RESEND] [PATCH 3/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/fec.c
Date: Mon, 10 Jan 2005 09:56:07 -0200 [thread overview]
Message-ID: <20050110115607.GG14098@logos.cnet> (raw)
In-Reply-To: <20050108170433.32690.82747.72350@localhost.localdomain>
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);
> }
WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: James Nelson <james4765@cwazy.co.uk>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
paulus@samba.org, Dan Malek <dan@embeddededge.com>,
Tom Rini <trini@kernel.crashing.org>
Subject: Re: [RESEND] [PATCH 3/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/fec.c
Date: Mon, 10 Jan 2005 09:56:07 -0200 [thread overview]
Message-ID: <20050110115607.GG14098@logos.cnet> (raw)
In-Reply-To: <20050108170433.32690.82747.72350@localhost.localdomain>
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);
> }
next prev parent reply other threads:[~2005-01-10 15:12 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-08 17:03 [RESEND] [PATCH 0/7] ppc: remove cli()/sti() from arch/ppc/* James Nelson
2005-01-08 17:03 ` [RESEND] [PATCH 1/7] ppc: remove cli()/sti() in arch/ppc/4xx_io/serial_sicc.c James Nelson
2005-01-08 17:04 ` [RESEND] [PATCH 2/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/cs4218_tdm.c James Nelson
2005-01-08 17:04 ` [RESEND] [PATCH 3/7] ppc: remove cli()/sti() in arch/ppc/8xx_io/fec.c James Nelson
2005-01-10 11:56 ` Marcelo Tosatti [this message]
2005-01-10 11:56 ` Marcelo Tosatti
2005-01-08 17:04 ` [RESEND] [PATCH 4/7] ppc: remove cli()/sti() in arch/ppc/platforms/apus_setup.c James Nelson
2005-01-08 17:04 ` [RESEND] [PATCH 5/7] ppc: remove cli()/sti() in arch/ppc/platforms/pal4_setup.c James Nelson
2005-01-08 17:04 ` [RESEND] [PATCH 6/7] ppc: remove cli()/sti() in arch/ppc/syslib/m8xx_setup.c James Nelson
2005-01-08 17:04 ` [RESEND] [PATCH 7/7] ppc: remove cli()/sti() in arch/ppc/syslib/qspan_pci.c James Nelson
2005-01-11 22:46 ` [RESEND] [PATCH 0/7] ppc: remove cli()/sti() from arch/ppc/* Tom Rini
2005-01-11 22:46 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050110115607.GG14098@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=james4765@cwazy.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.