]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
serial: 8250_dw: Fix runtime PM handling
authorPhil Edworthy <phil.edworthy@renesas.com>
Thu, 10 May 2018 14:13:56 +0000 (15:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 May 2018 11:51:12 +0000 (13:51 +0200)
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>
drivers/tty/serial/8250/8250_dw.c

index 0529b5cc094bc2fba90c295474da3410a185895e..aff04f1de3a543fc4a9e54eb0c9df478dfff5003 100644 (file)
@@ -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;