msm: tty: update receive room just before writing data to the ldisc
There is a corner case in the tty driver where the value of tty->receive_room is not being updated before writing data to the line discipline. When this happens, data is lost because of failure to re-submit any remaining data to the ldisc. This fix is dependent on a new tty flag that is set only when the tty driver is used for efs sync betweem the mdm modem and the applications processor. CRs-Fixed: 358868 Change-Id: I0ba02980504b4d8187b8c83111c2c883d194efa2 Signed-off-by: Joel King <joelking@codeaurora.org>
This commit is contained in:
@@ -282,8 +282,10 @@ struct tty_struct {
|
||||
struct winsize winsize; /* termios mutex */
|
||||
unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
|
||||
unsigned char low_latency:1, warned:1;
|
||||
unsigned char update_room_in_ldisc:1;
|
||||
unsigned char ctrl_status; /* ctrl_lock */
|
||||
unsigned int receive_room; /* Bytes free for queue */
|
||||
unsigned int rr_bug;
|
||||
|
||||
struct tty_struct *link;
|
||||
struct fasync_struct *fasync;
|
||||
|
||||
Reference in New Issue
Block a user