diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2011-02-09 04:56:52 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-17 14:31:58 -0500 |
commit | e96fabd8791aad30a3c8a03919893ae3e2e3df25 (patch) | |
tree | e83e2647b1dcf240d24bf85b6e0906be2a4a0440 /drivers | |
parent | d637837583163a1a70331ce48097f697cac85e32 (diff) |
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
Commit 6b5756f176568a710d008d3b478128fafb6707f0 introduced the
possibility for pdev->id being -1 but the change was not done equally in
altera_uart_remove. This patch fixes this.
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/serial/altera_uart.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c index 721216292a50..dee7a0eb6ea1 100644 --- a/drivers/tty/serial/altera_uart.c +++ b/drivers/tty/serial/altera_uart.c | |||
@@ -561,9 +561,15 @@ static int __devinit altera_uart_probe(struct platform_device *pdev) | |||
561 | 561 | ||
562 | static int __devexit altera_uart_remove(struct platform_device *pdev) | 562 | static int __devexit altera_uart_remove(struct platform_device *pdev) |
563 | { | 563 | { |
564 | struct uart_port *port = &altera_uart_ports[pdev->id].port; | 564 | struct uart_port *port; |
565 | int i = pdev->id; | ||
565 | 566 | ||
567 | if (i == -1) | ||
568 | i = 0; | ||
569 | |||
570 | port = &altera_uart_ports[i].port; | ||
566 | uart_remove_one_port(&altera_uart_driver, port); | 571 | uart_remove_one_port(&altera_uart_driver, port); |
572 | |||
567 | return 0; | 573 | return 0; |
568 | } | 574 | } |
569 | 575 | ||