aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@systec-electronic.com>2011-07-04 02:58:31 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-08 18:09:21 -0400
commite463595fd9c752fa4bf06b47df93ef9ade3c7cf0 (patch)
treead0829833fb2e99d976f8720ba905584e012187a /drivers/tty/serial
parent7b292b4bf9a9d6098440d85616d6ca4c608b8304 (diff)
pch_uart: Add MSI support
Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/serial')
-rw-r--r--drivers/tty/serial/pch_uart.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index ae28250b0be0..35cb9af893ba 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -1426,6 +1426,8 @@ static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
1426 goto init_port_hal_free; 1426 goto init_port_hal_free;
1427 } 1427 }
1428 1428
1429 pci_enable_msi(pdev);
1430
1429 iobase = pci_resource_start(pdev, 0); 1431 iobase = pci_resource_start(pdev, 0);
1430 mapbase = pci_resource_start(pdev, 1); 1432 mapbase = pci_resource_start(pdev, 1);
1431 priv->mapbase = mapbase; 1433 priv->mapbase = mapbase;
@@ -1482,6 +1484,8 @@ static void pch_uart_pci_remove(struct pci_dev *pdev)
1482 struct eg20t_port *priv; 1484 struct eg20t_port *priv;
1483 1485
1484 priv = (struct eg20t_port *)pci_get_drvdata(pdev); 1486 priv = (struct eg20t_port *)pci_get_drvdata(pdev);
1487
1488 pci_disable_msi(pdev);
1485 pch_uart_exit_port(priv); 1489 pch_uart_exit_port(priv);
1486 pci_disable_device(pdev); 1490 pci_disable_device(pdev);
1487 kfree(priv); 1491 kfree(priv);
@@ -1565,6 +1569,7 @@ static int __devinit pch_uart_pci_probe(struct pci_dev *pdev,
1565 return ret; 1569 return ret;
1566 1570
1567probe_disable_device: 1571probe_disable_device:
1572 pci_disable_msi(pdev);
1568 pci_disable_device(pdev); 1573 pci_disable_device(pdev);
1569probe_error: 1574probe_error:
1570 return ret; 1575 return ret;