Re: [34-longterm 006/247] USB: serial: handle Data Carrier Detect changes

Libor Pechacek
2011-06-24T12:13:46Z

Hi Paul,

> @@ -726,6 +726,10 @@ static void spcp8x5_read_bulk_callback(struct urb *urb)
> /* overrun is special, not associated with a char */
> if (status & UART_OVERRUN_ERROR)
> tty_insert_flip_char(tty, 0, TTY_OVERRUN);
> + if (status & UART_DCD)
> + usb_serial_handle_dcd_change(port, tty,
> + priv->line_status & MSR_STATUS_LINE_DCD);
> +
> tty_insert_flip_string_fixed_flag(tty, data, tty_flag,
> urb->actual_length);
> tty_flip_buffer_push(tty);

The above code is mistakenly placed inside the "if (tty && urb->actual_length)"
block. Should be right after it.

For kernels v2.6.31 - v2.6.34 use the following patch
http://git.kernel.org/?p=linux/kernel/git/longterm/linux-2.6.32.y.git;a=commitdiff;h=6fe7015007299e14f5ea212a503bcba5958c7086

For kernels v2.6.35 - v2.6.37 use
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.37.y.git;a=commitdiff;h=2631217445b84e5d31341eaaf6e7951bf8907f52

Libor
--
Libor Pechacek
SUSE L3 Team, Prague