diff options
| author | Russell King <[email protected]> | 2016-09-06 13:34:05 +0000 |
|---|---|---|
| committer | Russell King <[email protected]> | 2016-09-12 10:04:05 +0000 |
| commit | 06dfe5cc0cc684e735cb0232fdb756d30780b05d (patch) | |
| tree | 1c0b21b068068ead6664874aa885c82b6f6130f4 /scripts/gcc-plugins/latent_entropy_plugin.c | |
| parent | ARM: sa1111: fix pcmcia interrupt mask polarity (diff) | |
| download | kernel-06dfe5cc0cc684e735cb0232fdb756d30780b05d.tar.gz kernel-06dfe5cc0cc684e735cb0232fdb756d30780b05d.zip | |
ARM: sa1111: fix pcmcia suspend/resume
SA1111 PCMCIA was broken when PCMCIA switched to using dev_pm_ops for
the PCMCIA socket class. PCMCIA used to handle suspend/resume via the
socket hosting device, which happened at normal device suspend/resume
time.
However, the referenced commit changed this: much of the resume now
happens much earlier, in the noirq resume handler of dev_pm_ops.
However, on SA1111, the PCMCIA device is not accessible as the SA1111
has not been resumed at _noirq time. It's slightly worse than that,
because the SA1111 has already been put to sleep at _noirq time, so
suspend doesn't work properly.
Fix this by converting the core SA1111 code to use dev_pm_ops as well,
and performing its own suspend/resume at noirq time.
This fixes these errors in the kernel log:
pcmcia_socket pcmcia_socket0: time out after reset
pcmcia_socket pcmcia_socket1: time out after reset
and the resulting lack of PCMCIA cards after a S2RAM cycle.
Fixes: d7646f7632549 ("pcmcia: use dev_pm_ops for class pcmcia_socket_class")
Signed-off-by: Russell King <[email protected]>
Diffstat (limited to 'scripts/gcc-plugins/latent_entropy_plugin.c')
0 files changed, 0 insertions, 0 deletions
