linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* disable_irq() causes hang on AT91RM9200 targets?
@ 2010-01-28 17:00 Bill Gatliff
  2010-01-28 17:15 ` Bill Gatliff
  2010-01-29  0:29 ` Ben Dooks
  0 siblings, 2 replies; 4+ messages in thread
From: Bill Gatliff @ 2010-01-28 17:00 UTC (permalink / raw)
  To: linux-arm-kernel

Guys:


Has anyone noticed that with 2.6.33-rc5 (at least) on AT91RM9200,
disable_irq() seems to cause a lockup when the interrupt number is a
GPIO line?  I'm calling disable_irq() from an interrupt handler on the
same GPIO line.

I just saw this happen, and it seems to be repeatable.  Just wondering
if this is a known issue before I start digging into it...


b.g.

-- 
Bill Gatliff
bgat at billgatliff.com

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

* disable_irq() causes hang on AT91RM9200 targets?
  2010-01-28 17:00 disable_irq() causes hang on AT91RM9200 targets? Bill Gatliff
@ 2010-01-28 17:15 ` Bill Gatliff
  2010-01-29 14:49   ` Uwe Kleine-König
  2010-01-29  0:29 ` Ben Dooks
  1 sibling, 1 reply; 4+ messages in thread
From: Bill Gatliff @ 2010-01-28 17:15 UTC (permalink / raw)
  To: linux-arm-kernel

Bill Gatliff wrote:
> Guys:
>
>
> Has anyone noticed that with 2.6.33-rc5 (at least) on AT91RM9200,
> disable_irq() seems to cause a lockup when the interrupt number is a
> GPIO line?  I'm calling disable_irq() from an interrupt handler on the
> same GPIO line.
>
> I just saw this happen, and it seems to be repeatable.  Just wondering
> if this is a known issue before I start digging into it...
>   

Heh, disable_irq_nosync().  D'oh!  :)


b.g.

-- 
Bill Gatliff
bgat at billgatliff.com

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

* disable_irq() causes hang on AT91RM9200 targets?
  2010-01-28 17:00 disable_irq() causes hang on AT91RM9200 targets? Bill Gatliff
  2010-01-28 17:15 ` Bill Gatliff
@ 2010-01-29  0:29 ` Ben Dooks
  1 sibling, 0 replies; 4+ messages in thread
From: Ben Dooks @ 2010-01-29  0:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jan 28, 2010 at 11:00:55AM -0600, Bill Gatliff wrote:
> Guys:
> 
> 
> Has anyone noticed that with 2.6.33-rc5 (at least) on AT91RM9200,
> disable_irq() seems to cause a lockup when the interrupt number is a
> GPIO line?  I'm calling disable_irq() from an interrupt handler on the
> same GPIO line.
> 
> I just saw this happen, and it seems to be repeatable.  Just wondering
> if this is a known issue before I start digging into it...

disable_irq_nosync(), disable_irq() has for a while waited for the IRQ
to clear before exiting. Now, guess what happens if you wait for the IRQ
to clear in the IRQ handler that is currently executing.
 
> 
> b.g.
> 
> -- 
> Bill Gatliff
> bgat at billgatliff.com
> 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

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

* disable_irq() causes hang on AT91RM9200 targets?
  2010-01-28 17:15 ` Bill Gatliff
@ 2010-01-29 14:49   ` Uwe Kleine-König
  0 siblings, 0 replies; 4+ messages in thread
From: Uwe Kleine-König @ 2010-01-29 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

On Thu, Jan 28, 2010 at 11:15:49AM -0600, Bill Gatliff wrote:
> Bill Gatliff wrote:
> > Guys:
> >
> >
> > Has anyone noticed that with 2.6.33-rc5 (at least) on AT91RM9200,
> > disable_irq() seems to cause a lockup when the interrupt number is a
> > GPIO line?  I'm calling disable_irq() from an interrupt handler on the
> > same GPIO line.
> >
> > I just saw this happen, and it seems to be repeatable.  Just wondering
> > if this is a known issue before I start digging into it...
> >   
> 
> Heh, disable_irq_nosync().  D'oh!  :)
Can make this a bit more verbose:

 [ ] After switching from disable_irq to disable_irq_nosync it magically
     works.
 [ ] Of course I know not to use disable_irq in irq context.  I meant it
     causes a lockup when I use *disable_irq_nosync* in irq context.

Best regards
Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-K?nig            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

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

end of thread, other threads:[~2010-01-29 14:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-28 17:00 disable_irq() causes hang on AT91RM9200 targets? Bill Gatliff
2010-01-28 17:15 ` Bill Gatliff
2010-01-29 14:49   ` Uwe Kleine-König
2010-01-29  0:29 ` Ben Dooks

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