Re: [PATCH] usb: host: ehci-msm: Conditionally call ehci suspend/resume

From: Pramod Gurav
Date: Thu May 26 2016 - 02:58:23 EST


On 21 May 2016 at 03:05, Andy Gross <andy.gross@xxxxxxxxxx> wrote:
> This patch fixes a suspend/resume issue where the driver is blindly
> calling ehci_suspend/resume functions when the ehci hasn't been setup.
> This results in a crash during suspend/resume operations.
>
> Signed-off-by: Andy Gross <andy.gross@xxxxxxxxxx>

Fixes below crash while doing a system suspend:

root@linaro-alip:~# echo freeze > /sys/power/state
[ 22.348960] PM: Syncing filesystems ... done.
[ 22.387778] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 22.393614] Freezing remaining freezable tasks ... (elapsed 0.001
seconds) done.
[ 22.512736] mmc0: Reset 0x1 never completed.
[ 22.514296] Unable to handle kernel NULL pointer dereference at
virtual address 000004e8
[ 22.516068] pgd = ffff80003817d000
[ 22.524161] [000004e8] *pgd=00000000b817e003,
*pud=00000000b817f003, *pmd=0000000000000000
[ 22.535414] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[ 22.535680] Modules linked in:
[ 22.544183] CPU: 3 PID: 1499 Comm: bash Not tainted 4.6.0+ #65
[ 22.544275] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
[ 22.550006] task: ffff800039abd780 ti: ffff80003928c000 task.ti:
ffff80003928c000
[ 22.556870] PC is at ehci_suspend+0x34/0xe4
[ 22.564240] LR is at ehci_msm_pm_suspend+0x2c/0x34
[ 22.568232] pc : [<ffff0000085ad2b4>] lr : [<ffff0000085b4970>]
pstate: a0000145

Tested-by: Pramod Gurav <pramod.gurav@xxxxxxxxxx>

> ---
> drivers/usb/host/ehci-msm.c | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
Regards,
Pramod