Re: [PATCH] ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 07/25/2017 03:56 AM, Tony Lindgren wrote:
* Tony Lindgren <tony@xxxxxxxxxxx> [170725 00:11]:
* Grygorii Strashko <grygorii.strashko@xxxxxx> [170724 15:17]:
My personal thought here is that removing of pm_runtime_set_active() will not fix
root cause of the problem, but rather hide it :( and, probably, real fix will be
to update USB framework to ensure that all suspend devices are also PM runtime suspend
(not sure how) or add few more pm_suspend_ignore_children() calls
  (for example as I've tried to do in [2], but this was unfinished).

I've found very simple steps to reproduce suspend failure on am335x-evm (should also
work on BBB) -  do below sequence with USB device plugged:

    echo platform > /sys/power/pm_test
    echo 1 > /sys/power/pm_print_times
    [ echo 0 > /sys/module/printk/parameters/console_suspend ]
    echo mem > /sys/power/state

[   95.499685] calling  47400000.usb+ @ 733, parent: ocp
[   95.504818] am335x-usb-childs 47400000.usb: runtime PM trying to suspend device but active child
[   95.513750] am335x-usb-childs 47400000.usb: omap device suspend failure 0

Below I've attached possible patch which converts OMAP device to
use pm_runtime_force_suspend/resume().

It seems to almost work for my PM test cases.. It seems that serial console
somehow won't get restored after suspend/resume cycle on omap3 though.

The system enters off mode during suspend, and wakes up properly so I can
ssh to it after resume. But the serial console no longer works after resume.
This is with 8250-omap driver.

And FYI, on omap4 this produces a bunch of L3 irq errors on suspend.


Ok. This was a risky change even if it looks obvious :(

--
regards,
-grygorii
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux