diff options
Diffstat (limited to 'drivers/char/mxser.c')
| -rw-r--r-- | drivers/char/mxser.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c index 30544ca5e956..37058ff7da7d 100644 --- a/drivers/char/mxser.c +++ b/drivers/char/mxser.c | |||
| @@ -258,7 +258,6 @@ struct mxser_port { | |||
| 258 | struct mxser_mon mon_data; | 258 | struct mxser_mon mon_data; |
| 259 | 259 | ||
| 260 | spinlock_t slock; | 260 | spinlock_t slock; |
| 261 | wait_queue_head_t delta_msr_wait; | ||
| 262 | }; | 261 | }; |
| 263 | 262 | ||
| 264 | struct mxser_board { | 263 | struct mxser_board { |
| @@ -818,7 +817,7 @@ static void mxser_check_modem_status(struct tty_struct *tty, | |||
| 818 | if (status & UART_MSR_DCTS) | 817 | if (status & UART_MSR_DCTS) |
| 819 | port->icount.cts++; | 818 | port->icount.cts++; |
| 820 | port->mon_data.modem_status = status; | 819 | port->mon_data.modem_status = status; |
| 821 | wake_up_interruptible(&port->delta_msr_wait); | 820 | wake_up_interruptible(&port->port.delta_msr_wait); |
| 822 | 821 | ||
| 823 | if ((port->port.flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { | 822 | if ((port->port.flags & ASYNC_CHECK_CD) && (status & UART_MSR_DDCD)) { |
| 824 | if (status & UART_MSR_DCD) | 823 | if (status & UART_MSR_DCD) |
| @@ -973,7 +972,7 @@ static void mxser_shutdown(struct tty_struct *tty) | |||
| 973 | * clear delta_msr_wait queue to avoid mem leaks: we may free the irq | 972 | * clear delta_msr_wait queue to avoid mem leaks: we may free the irq |
| 974 | * here so the queue might never be waken up | 973 | * here so the queue might never be waken up |
| 975 | */ | 974 | */ |
| 976 | wake_up_interruptible(&info->delta_msr_wait); | 975 | wake_up_interruptible(&info->port.delta_msr_wait); |
| 977 | 976 | ||
| 978 | /* | 977 | /* |
| 979 | * Free the IRQ, if necessary | 978 | * Free the IRQ, if necessary |
| @@ -1762,7 +1761,7 @@ static int mxser_ioctl(struct tty_struct *tty, struct file *file, | |||
| 1762 | cnow = info->icount; /* note the counters on entry */ | 1761 | cnow = info->icount; /* note the counters on entry */ |
| 1763 | spin_unlock_irqrestore(&info->slock, flags); | 1762 | spin_unlock_irqrestore(&info->slock, flags); |
| 1764 | 1763 | ||
| 1765 | return wait_event_interruptible(info->delta_msr_wait, | 1764 | return wait_event_interruptible(info->port.delta_msr_wait, |
| 1766 | mxser_cflags_changed(info, arg, &cnow)); | 1765 | mxser_cflags_changed(info, arg, &cnow)); |
| 1767 | /* | 1766 | /* |
| 1768 | * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) | 1767 | * Get counter of input serial line interrupts (DCD,RI,DSR,CTS) |
| @@ -2414,7 +2413,6 @@ static int __devinit mxser_initbrd(struct mxser_board *brd, | |||
| 2414 | info->port.close_delay = 5 * HZ / 10; | 2413 | info->port.close_delay = 5 * HZ / 10; |
| 2415 | info->port.closing_wait = 30 * HZ; | 2414 | info->port.closing_wait = 30 * HZ; |
| 2416 | info->normal_termios = mxvar_sdriver->init_termios; | 2415 | info->normal_termios = mxvar_sdriver->init_termios; |
| 2417 | init_waitqueue_head(&info->delta_msr_wait); | ||
| 2418 | memset(&info->mon_data, 0, sizeof(struct mxser_mon)); | 2416 | memset(&info->mon_data, 0, sizeof(struct mxser_mon)); |
| 2419 | info->err_shadow = 0; | 2417 | info->err_shadow = 0; |
| 2420 | spin_lock_init(&info->slock); | 2418 | spin_lock_init(&info->slock); |
