[PATCH] pcf50633 IRQ handler
Michael Trimarchi
trimarchi at gandalf.sssup.it
Wed Jan 14 11:12:45 CET 2009
Michael Trimarchi wrote:
> Hi,
>
> Balaji Rao wrote:
>> On Wed, Jan 14, 2009 at 10:05:44AM +0100, Michael Trimarchi wrote:
>>
>>> Hi,
>>>
>>>
>>>> diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
>>>> index f668b9a..a565542 100644
>>>> --- a/drivers/mfd/pcf50633-core.c
>>>> +++ b/drivers/mfd/pcf50633-core.c
>>>> @@ -428,6 +428,10 @@ static int pcf50633_suspend(struct device
>>>> *dev, pm_message_t state)
>>>> /* Make sure that an IRQ worker has quit */
>>>> cancel_work_sync(&pcf->irq_work);
>>>> + /* Disable irq again, because it could be re-enabled by the
>>>> exiting
>>>> + * worker we synced above */
>>>> + disable_irq(pcf->irq);
>>>> +
>>>> /* Save the masks */
>>>> ret = pcf50633_read_block(pcf, PCF50633_REG_INT1M,
>>>> ARRAY_SIZE(pcf->suspend_irq_masks),
>>>>
>>>>
>>> Sorry but I reverified the problem with me and your patch. I must
>>> activate the console on the serial
>>> during suspend and check what happened :(. I will do it.
>>>
>>
>> Sure, that will be very helpful. When exactly does panic happen ? During
>> resume ?
>>
>> I wonder where was this bug hiding till now..
>>
>> Thanks,
>> Balaji
>>
>>
> It very simple to reproduce it on my phone. Say android go to the
> suspend and press the light button when the display switch off and the
> kernel go in panic.
>
> But maybe it can be realeted to android/power stuff too. I must have a
> console output but I can't for now
> my torx t6 screwdriver is at the airport security :(. If you can wait
> a try to test tommorow :)
> Michael
>
>
>
static irqreturn_t neo1973kbd_aux_irq(int irq, void *dev)
{
int *p = NULL;
/* if you stall inside resume then AUX will force a panic,
which in turn forces a dump of the pending syslog */
if (global_inside_suspend)
printk(KERN_ERR "death %d\n", *p); <---- maybe can be
this one?
Michael
More information about the openmoko-kernel
mailing list