On Fri, Jul 19, 2019 at 04:37:35PM +0300, Andy Shevchenko wrote:
> On Thu, Jul 18, 2019 at 09:54:42PM -0500, Navid Emamdoost wrote:

> Thus, please, collaborate guys, and send one compiling solution  based on [1].

> [1]: https://www.spinics.net/lists/linux-serial/msg33965.html

For your convenience (what has to be applied to v4):

diff --git a/drivers/tty/serial/8250/8250_lpss.c 
b/drivers/tty/serial/8250/8250_lpss.c
index 53ca9ba6ab4b..6214da67e9b3 100644
--- a/drivers/tty/serial/8250/8250_lpss.c
+++ b/drivers/tty/serial/8250/8250_lpss.c
@@ -195,11 +195,15 @@ static void qrk_serial_setup_dma(struct lpss8250 *lpss, 
struct uart_port *port)
 
 static void qrk_serial_exit_dma(struct lpss8250 *lpss)
 {
+       struct dw_dma_chip *chip = &lpss->dma_chip;
        struct dw_dma_slave *param = &lpss->dma_param;
 
        if (!param->dma_dev)
                return;
-       dw_dma_remove(&lpss->dma_chip);
+
+       dw_dma_remove(chip);
+
+       pci_iounmap(to_pci_dev(chip->dev), chip->regs);
 }
 #else  /* CONFIG_SERIAL_8250_DMA */
 static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port 
*port) {}

-- 
With Best Regards,
Andy Shevchenko


Reply via email to