netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch for 2.6.25? 2/3] smc91x driver: fix bug: print warning only in interrupt mode
@ 2008-04-09  0:31 akpm
  0 siblings, 0 replies; 3+ messages in thread
From: akpm @ 2008-04-09  0:31 UTC (permalink / raw)
  To: jeff; +Cc: netdev, akpm, sonic.zhang, cooloney

From: Sonic Zhang <sonic.zhang@analog.com>

http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>

On Fri, 28 Mar 2008 21:45:02 -0400 Jeff Garzik <jeff@garzik.org> wrote:

> akpm@linux-foundation.org wrote:
> > From: Sonic Zhang <sonic.zhang@analog.com>
> > 
> > http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956
> > 
> > Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> > Signed-off-by: Bryan Wu <cooloney@kernel.org>
> > Cc: Jeff Garzik <jeff@garzik.org>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > ---
> > 
> >  drivers/net/smc91x.c |    2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
> > --- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
> > +++ a/drivers/net/smc91x.c
> > @@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
> >  	SMC_SET_INT_MASK(lp, mask);
> >  	spin_unlock(&lp->lock);
> >  
> > +#ifndef CONFIG_NET_POLL_CONTROLLER
> >  	if (timeout == MAX_IRQ_LOOPS)
> >  		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
> >  		       dev->name, mask);
> > +#endif
> >  	DBG(3, "%s: Interrupt done (%d loops)\n",
> >  	       dev->name, MAX_IRQ_LOOPS - timeout);
> 
> NAK
> 
> Either this code is OK or it isn't.  This patch simply hides a problem 
> inside a configuration the developer probably doesn't use.
> 
> What's the _real_ problem?  Looking at the tracker, I'd guess that some 
> events need to be masked, but are not?
> 
> If the hardware is asserting events continually, the current code does 
> the right thing -- keep processing interrupt events flagged, until (a) 
> no more events asserted or (b) max loop count reached.
> 
> So the question is to find out why you are hitting the timeout, and what 
> to do about it.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/net/smc91x.c |    2 ++
 1 file changed, 2 insertions(+)

diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
--- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
+++ a/drivers/net/smc91x.c
@@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
 	SMC_SET_INT_MASK(lp, mask);
 	spin_unlock(&lp->lock);
 
+#ifndef CONFIG_NET_POLL_CONTROLLER
 	if (timeout == MAX_IRQ_LOOPS)
 		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
 		       dev->name, mask);
+#endif
 	DBG(3, "%s: Interrupt done (%d loops)\n",
 	       dev->name, MAX_IRQ_LOOPS - timeout);
 
_

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

* [patch for 2.6.25? 2/3] smc91x driver: fix bug: print warning only in interrupt mode
@ 2008-04-11  4:30 akpm
  2008-04-12  8:42 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: akpm @ 2008-04-11  4:30 UTC (permalink / raw)
  To: jeff; +Cc: netdev, akpm, sonic.zhang, cooloney

From: Sonic Zhang <sonic.zhang@analog.com>

http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>

On Fri, 28 Mar 2008 21:45:02 -0400 Jeff Garzik <jeff@garzik.org> wrote:

> akpm@linux-foundation.org wrote:
> > From: Sonic Zhang <sonic.zhang@analog.com>
> > 
> > http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956
> > 
> > Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> > Signed-off-by: Bryan Wu <cooloney@kernel.org>
> > Cc: Jeff Garzik <jeff@garzik.org>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > ---
> > 
> >  drivers/net/smc91x.c |    2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
> > --- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
> > +++ a/drivers/net/smc91x.c
> > @@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
> >  	SMC_SET_INT_MASK(lp, mask);
> >  	spin_unlock(&lp->lock);
> >  
> > +#ifndef CONFIG_NET_POLL_CONTROLLER
> >  	if (timeout == MAX_IRQ_LOOPS)
> >  		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
> >  		       dev->name, mask);
> > +#endif
> >  	DBG(3, "%s: Interrupt done (%d loops)\n",
> >  	       dev->name, MAX_IRQ_LOOPS - timeout);
> 
> NAK
> 
> Either this code is OK or it isn't.  This patch simply hides a problem 
> inside a configuration the developer probably doesn't use.
> 
> What's the _real_ problem?  Looking at the tracker, I'd guess that some 
> events need to be masked, but are not?
> 
> If the hardware is asserting events continually, the current code does 
> the right thing -- keep processing interrupt events flagged, until (a) 
> no more events asserted or (b) max loop count reached.
> 
> So the question is to find out why you are hitting the timeout, and what 
> to do about it.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/net/smc91x.c |    2 ++
 1 file changed, 2 insertions(+)

diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
--- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
+++ a/drivers/net/smc91x.c
@@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
 	SMC_SET_INT_MASK(lp, mask);
 	spin_unlock(&lp->lock);
 
+#ifndef CONFIG_NET_POLL_CONTROLLER
 	if (timeout == MAX_IRQ_LOOPS)
 		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
 		       dev->name, mask);
+#endif
 	DBG(3, "%s: Interrupt done (%d loops)\n",
 	       dev->name, MAX_IRQ_LOOPS - timeout);
 
_

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

* Re: [patch for 2.6.25? 2/3] smc91x driver: fix bug: print warning only in interrupt mode
  2008-04-11  4:30 [patch for 2.6.25? 2/3] smc91x driver: fix bug: print warning only in interrupt mode akpm
@ 2008-04-12  8:42 ` Jeff Garzik
  0 siblings, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2008-04-12  8:42 UTC (permalink / raw)
  To: akpm; +Cc: netdev, sonic.zhang, cooloney

akpm@linux-foundation.org wrote:
> From: Sonic Zhang <sonic.zhang@analog.com>
> 
> http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956
> 
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> Signed-off-by: Bryan Wu <cooloney@kernel.org>
> Cc: Jeff Garzik <jeff@garzik.org>
> 
> On Fri, 28 Mar 2008 21:45:02 -0400 Jeff Garzik <jeff@garzik.org> wrote:
> 
>> akpm@linux-foundation.org wrote:
>>> From: Sonic Zhang <sonic.zhang@analog.com>
>>>
>>> http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956
>>>
>>> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
>>> Signed-off-by: Bryan Wu <cooloney@kernel.org>
>>> Cc: Jeff Garzik <jeff@garzik.org>
>>> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>>> ---
>>>
>>>  drivers/net/smc91x.c |    2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
>>> --- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
>>> +++ a/drivers/net/smc91x.c
>>> @@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
>>>  	SMC_SET_INT_MASK(lp, mask);
>>>  	spin_unlock(&lp->lock);
>>>  
>>> +#ifndef CONFIG_NET_POLL_CONTROLLER
>>>  	if (timeout == MAX_IRQ_LOOPS)
>>>  		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
>>>  		       dev->name, mask);
>>> +#endif
>>>  	DBG(3, "%s: Interrupt done (%d loops)\n",
>>>  	       dev->name, MAX_IRQ_LOOPS - timeout);
>> NAK
>>
>> Either this code is OK or it isn't.  This patch simply hides a problem 
>> inside a configuration the developer probably doesn't use.
>>
>> What's the _real_ problem?  Looking at the tracker, I'd guess that some 
>> events need to be masked, but are not?
>>
>> If the hardware is asserting events continually, the current code does 
>> the right thing -- keep processing interrupt events flagged, until (a) 
>> no more events asserted or (b) max loop count reached.
>>
>> So the question is to find out why you are hitting the timeout, and what 
>> to do about it.
> 
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
> 
>  drivers/net/smc91x.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff -puN drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode drivers/net/smc91x.c
> --- a/drivers/net/smc91x.c~smc91x-driver-fix-bug-print-warning-only-in-interrupt-mode
> +++ a/drivers/net/smc91x.c
> @@ -1326,9 +1326,11 @@ static irqreturn_t smc_interrupt(int irq
>  	SMC_SET_INT_MASK(lp, mask);
>  	spin_unlock(&lp->lock);
>  
> +#ifndef CONFIG_NET_POLL_CONTROLLER
>  	if (timeout == MAX_IRQ_LOOPS)
>  		PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
>  		       dev->name, mask);
> +#endif
>  	DBG(3, "%s: Interrupt done (%d loops)\n",
>  	       dev->name, MAX_IRQ_LOOPS - timeout);
>  

applied



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

end of thread, other threads:[~2008-04-12  8:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-11  4:30 [patch for 2.6.25? 2/3] smc91x driver: fix bug: print warning only in interrupt mode akpm
2008-04-12  8:42 ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2008-04-09  0:31 akpm

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).