summaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorPhil Edworthy <phil.edworthy@renesas.com>2018-05-10 15:13:56 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-05-14 13:51:12 +0200
commitd76c74387e1c978b6c5524a146ab0f3f72206f98 (patch)
tree0ba84ba1402fbff1d606a082b546c8ae8dfca6ab /drivers/tty
parent13dc04d0e5fdc25c8f713ad23fdce51cf2bf96ba (diff)
downloadop-kernel-dev-d76c74387e1c978b6c5524a146ab0f3f72206f98.zip
op-kernel-dev-d76c74387e1c978b6c5524a146ab0f3f72206f98.tar.gz
serial: 8250_dw: Fix runtime PM handling
When using kgdb, you get an abort when accessing the UART registers. This is because the driver has already entered runtime PM and so turned off the bus clock needed to access the registers. To fix this, set the capability indicating Runtime PM is active while idle. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/8250/8250_dw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index 0529b5c..aff04f1 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -576,6 +576,10 @@ static int dw8250_probe(struct platform_device *pdev)
if (!data->skip_autocfg)
dw8250_setup_port(p);
+#ifdef CONFIG_PM
+ uart.capabilities |= UART_CAP_RPM;
+#endif
+
/* If we have a valid fifosize, try hooking up DMA */
if (p->fifosize) {
data->dma.rxconf.src_maxburst = p->fifosize / 4;
OpenPOWER on IntegriCloud