Alan,
--- On Tue, 27/4/10, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
The st_recv is a global pointer to a function, and changes only once in lifetime of the driver (after a function called download_firmware).
This can be easily avoided by having a flag in my st_tty_recieve function, as in
if (test_bit(FIRMWARE_DOWNLOADED, st_gdata->st_state)
/*
* if fw download is in progress then route incoming data
* to KIM for validation
*/
st_int_recv(data, count);
else
kim_recv(data, count);
ST_DRV_VER("done %s", __func__);
However, the other global reference which was st_gdata, now is inside the tty->disc_data reference.
Should I put in the above ?
I have removed most un-wanted locking stuff, I could find.
What else is required ? please suggest.
Didn't get what is that is required about flow-control ?
Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download Now! http://messenger.yahoo.com/download.php
--