Messages in this thread | | | Date | Mon, 26 Mar 2012 13:31:23 -0700 | From | Greg KH <> | Subject | Re: ftdi_sio: fix status line change handling for TIOCMIWAIT and TIOCGICOUNT |
| |
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
| |