diff options
Diffstat (limited to 'drivers/char/specialix.c')
-rw-r--r-- | drivers/char/specialix.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index 99137ab66b62..20946f5127e0 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c | |||
@@ -2311,7 +2311,7 @@ static void sx_hangup(struct tty_struct * tty) | |||
2311 | } | 2311 | } |
2312 | 2312 | ||
2313 | 2313 | ||
2314 | static void sx_set_termios(struct tty_struct * tty, struct termios * old_termios) | 2314 | static void sx_set_termios(struct tty_struct * tty, struct ktermios * old_termios) |
2315 | { | 2315 | { |
2316 | struct specialix_port *port = (struct specialix_port *)tty->driver_data; | 2316 | struct specialix_port *port = (struct specialix_port *)tty->driver_data; |
2317 | unsigned long flags; | 2317 | unsigned long flags; |
@@ -2400,6 +2400,8 @@ static int sx_init_drivers(void) | |||
2400 | specialix_driver->init_termios = tty_std_termios; | 2400 | specialix_driver->init_termios = tty_std_termios; |
2401 | specialix_driver->init_termios.c_cflag = | 2401 | specialix_driver->init_termios.c_cflag = |
2402 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 2402 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
2403 | specialix_driver->init_termios.c_ispeed = 9600; | ||
2404 | specialix_driver->init_termios.c_ospeed = 9600; | ||
2403 | specialix_driver->flags = TTY_DRIVER_REAL_RAW; | 2405 | specialix_driver->flags = TTY_DRIVER_REAL_RAW; |
2404 | tty_set_operations(specialix_driver, &sx_ops); | 2406 | tty_set_operations(specialix_driver, &sx_ops); |
2405 | 2407 | ||
@@ -2475,7 +2477,7 @@ static int __init specialix_init(void) | |||
2475 | i++; | 2477 | i++; |
2476 | continue; | 2478 | continue; |
2477 | } | 2479 | } |
2478 | pdev = pci_find_device (PCI_VENDOR_ID_SPECIALIX, | 2480 | pdev = pci_get_device (PCI_VENDOR_ID_SPECIALIX, |
2479 | PCI_DEVICE_ID_SPECIALIX_IO8, | 2481 | PCI_DEVICE_ID_SPECIALIX_IO8, |
2480 | pdev); | 2482 | pdev); |
2481 | if (!pdev) break; | 2483 | if (!pdev) break; |
@@ -2491,6 +2493,9 @@ static int __init specialix_init(void) | |||
2491 | if (!sx_probe(&sx_board[i])) | 2493 | if (!sx_probe(&sx_board[i])) |
2492 | found ++; | 2494 | found ++; |
2493 | } | 2495 | } |
2496 | /* May exit pci_get sequence early with lots of boards */ | ||
2497 | if (pdev != NULL) | ||
2498 | pci_dev_put(pdev); | ||
2494 | } | 2499 | } |
2495 | #endif | 2500 | #endif |
2496 | 2501 | ||