serial: 8250_omap: Fix probe and remove for PM runtime
authorTony Lindgren <tony@atomide.com>
Fri, 20 Jan 2017 20:22:31 +0000 (12:22 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 14 May 2017 12:00:19 +0000 (14:00 +0200)
commit71fd9a94bd3fd35277c9e1cf6a373c1f7a8ec4cd
treec715d232494975e775b3b75f25b47f13ad0e1de5
parent115fb7ec22b5422adabcd48232b68b6d2882e7f7
serial: 8250_omap: Fix probe and remove for PM runtime

commit 4e0f5cc65098ea32a1e77baae74215b9bd5276b1 upstream.

Otherwise the interconnect related code implementing PM runtime will
produce these errors on a failed probe:

omap_uart 48066000.serial: omap_device: omap_device_enable() called from invalid state 1
omap_uart 48066000.serial: use pm_runtime_put_sync_suspend() in driver?

Note that we now also need to check for priv in omap8250_runtime_suspend()
as it has not yet been registered if probe fails. And we need to use
pm_runtime_put_sync() to properly idle the device like we already do
in omap8250_remove().

Fixes: 61929cf0169d ("tty: serial: Add 8250-core based omap driver")
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_omap.c