Re: ftdi_sio: fix status line change handling for TIOCMIWAIT andTIOCGICOUNT

From: Greg KH
Date: Mon Mar 26 2012 - 16:31:24 EST


On Mon, Mar 26, 2012 at 09:19:40PM +0100, Simon Arlott wrote:
> Handling of TIOCMIWAIT was changed by commit 1d749f9afa657f6ee9336b2bc1fcd750a647d157
> USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers
>
> FTDI_STATUS_B0_MASK does not indicate the changed modem status lines,
> it indicates the value of the current modem status lines. An xor is
> still required to determine which lines have changed.
>
> The count was only being incremented if the line was high. The only
> reason TIOCMIWAIT still worked was because the status packet is
> repeated every 1ms, so the count was always changing. The wakeup
> itself still ran based on the status lines changing.
>
> This change fixes handling of updates to the modem status lines and
> allows multiple processes to use TIOCMIWAIT concurrently.
>
> Tested with two processes waiting on different status lines being
> toggled independently.

Nice, do you happen to have the source for such a test tool anywhere
around? I'd like to use it for future testing if at all possible.

I'll queue this up after 3.4-rc1 is out.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/