Re: [PATCH V2] extcon: palmas: Drop stray IRQF_EARLY_RESUME flag

From: Roger Quadros
Date: Fri Apr 01 2016 - 10:45:53 EST


On 01/04/16 16:52, Nishanth Menon wrote:
> Palmas extcon IRQs are nested threaded and wired to the Palmas
> interrupt controller. So, this flag is not required for nested
> IRQs anymore, since commit 3c646f2c6aa9 ("genirq: Don't suspend
> nested_thread irqs over system suspend") was merged. However, the
> fix in commit ae64e42cc2b3 ("extcon: palmas: Drop IRQF_EARLY_RESUME
> flag") missed a stray flag causing the following crash on resume on
> BeagleBoard-X15 platform:
>
> [ 53.670141] Unhandled fault: imprecise external abort (0x1406) at 0x00000000
> [..]
> [ 53.670141] [<c04ae734>] (omap_set_gpio_triggering) from [<c04aeb94>] (omap_gpio_unmask_irq+0xc0/0xc4)
> [ 53.670141] [<c04aeb94>] (omap_gpio_unmask_irq) from [<c01a0b88>] (irq_enable+0x30/0x44)
> [ 53.670141] [<c01a0b88>] (irq_enable) from [<c019ebd8>] (__enable_irq+0x54/0x78)
> [ 53.670141] [<c019ebd8>] (__enable_irq) from [<c01a4e60>] (resume_irqs+0xe8/0x100)
> [ 53.670141] [<c01a4e60>] (resume_irqs) from [<c0514840>] (syscore_resume+0x94/0x298)
> [ 53.670141] [<c0514840>] (syscore_resume) from [<c01981cc>] (suspend_devices_and_enter+0x790/0x9e4)
> [ 53.670141] [<c01981cc>] (suspend_devices_and_enter) from [<c0198a60>] (pm_suspend+0x640/0x75c)
> [ 53.670141] [<c0198a60>] (pm_suspend) from [<c0196bec>] (state_store+0x64/0xb8)
> [ 53.670141] [<c0196bec>] (state_store) from [<c0307944>] (kernfs_fop_write+0xc0/0x1bc)
> [ 53.670141] [<c0307944>] (kernfs_fop_write) from [<c028acb0>] (__vfs_write+0x1c/0xd8)
> [ 53.670141] [<c028acb0>] (__vfs_write) from [<c028bba0>] (vfs_write+0x90/0x16c)
> [ 53.670141] [<c028bba0>] (vfs_write) from [<c028c8c0>] (SyS_write+0x44/0x9c)
> [ 53.670141] [<c028c8c0>] (SyS_write) from [<c0107840>] (ret_fast_syscall+0x0/0x1c)
> [..]
>
> Fixes: ae64e42cc2b3 ("extcon: palmas: Drop IRQF_EARLY_RESUME flag")
> Cc: Grygorii Strashko <grygorii.strashko@xxxxxx>
> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> Cc: Tony Lindgren <tony@xxxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Cc: Roger Quadros <rogerq@xxxxxx>
>
> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
> Signed-off-by: Nishanth Menon <nm@xxxxxx>

Acked-by: Roger Quadros <rogerq@xxxxxx>

cheers,
-roger

> ---
> based on v4.6-rc1
> Changes in V2:
> - commit message updates for:
> - Trimming the crash log down to base stack trace
> - Fix up a few typos
> - Update commit log to indicate that this is a completion of
> previously attempted fix .
>
> V1: https://patchwork.kernel.org/patch/8718431/
>
> drivers/extcon/extcon-palmas.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
> index 841a4b586395..8b3226dca1d9 100644
> --- a/drivers/extcon/extcon-palmas.c
> +++ b/drivers/extcon/extcon-palmas.c
> @@ -348,8 +348,7 @@ static int palmas_usb_probe(struct platform_device *pdev)
> palmas_vbus_irq_handler,
> IRQF_TRIGGER_FALLING |
> IRQF_TRIGGER_RISING |
> - IRQF_ONESHOT |
> - IRQF_EARLY_RESUME,
> + IRQF_ONESHOT,
> "palmas_usb_vbus",
> palmas_usb);
> if (status < 0) {
>