aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/omap-serial.c')
-rw-r--r--drivers/tty/serial/omap-serial.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 24280d9a05e9..de1c143b475f 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1712,7 +1712,8 @@ static int serial_omap_probe(struct platform_device *pdev)
1712 return 0; 1712 return 0;
1713 1713
1714err_add_port: 1714err_add_port:
1715 pm_runtime_put(&pdev->dev); 1715 pm_runtime_dont_use_autosuspend(&pdev->dev);
1716 pm_runtime_put_sync(&pdev->dev);
1716 pm_runtime_disable(&pdev->dev); 1717 pm_runtime_disable(&pdev->dev);
1717 pm_qos_remove_request(&up->pm_qos_request); 1718 pm_qos_remove_request(&up->pm_qos_request);
1718 device_init_wakeup(up->dev, false); 1719 device_init_wakeup(up->dev, false);
@@ -1725,9 +1726,13 @@ static int serial_omap_remove(struct platform_device *dev)
1725{ 1726{
1726 struct uart_omap_port *up = platform_get_drvdata(dev); 1727 struct uart_omap_port *up = platform_get_drvdata(dev);
1727 1728
1729 pm_runtime_get_sync(up->dev);
1730
1731 uart_remove_one_port(&serial_omap_reg, &up->port);
1732
1733 pm_runtime_dont_use_autosuspend(up->dev);
1728 pm_runtime_put_sync(up->dev); 1734 pm_runtime_put_sync(up->dev);
1729 pm_runtime_disable(up->dev); 1735 pm_runtime_disable(up->dev);
1730 uart_remove_one_port(&serial_omap_reg, &up->port);
1731 pm_qos_remove_request(&up->pm_qos_request); 1736 pm_qos_remove_request(&up->pm_qos_request);
1732 device_init_wakeup(&dev->dev, false); 1737 device_init_wakeup(&dev->dev, false);
1733 1738