ipu_idmac: Use disable_irq_nosync() from within irq handlers.
authorBen Nizette <bn@niasdigital.com>
Wed, 15 Apr 2009 19:54:12 +0000 (05:54 +1000)
committerDan Williams <dan.j.williams@intel.com>
Tue, 5 May 2009 19:16:56 +0000 (12:16 -0700)
commitca50a51e890b0a62b44b5642c1ba5049909e5a8b
treed5804f7a5ab5760e996093690654df3a59e9adf8
parentc56c81abe7e684bc6203632d807303eb765690dc
ipu_idmac: Use disable_irq_nosync() from within irq handlers.

disable_irq() should wait for all running handlers to complete
before returning.  As such, if it's used to disable an interrupt
from that interrupt's handler it will deadlock.  This replaces
the dangerous instances with the _nosync() variant which doesn't
have this problem.

Note the 2 handlers in question are only used #ifdef DEBUG so
I imagine these code paths don't get hit often.

Signed-off-by: Ben Nizette <bn@niasdigital.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ipu/ipu_idmac.c