Commit ee2470d2 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

USB: mos7840: fix broken TIOCMIWAIT

commit e670c6af upstream.

Make sure waiting processes are woken on modem-status changes.

Currently processes are only woken on termios changes regardless of
whether the modem status has changed.
Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Cc: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 23a88561
...@@ -453,6 +453,9 @@ static void mos7840_handle_new_msr(struct moschip_port *port, __u8 new_msr) ...@@ -453,6 +453,9 @@ static void mos7840_handle_new_msr(struct moschip_port *port, __u8 new_msr)
icount->rng++; icount->rng++;
smp_wmb(); smp_wmb();
} }
mos7840_port->delta_msr_cond = 1;
wake_up_interruptible(&mos7840_port->delta_msr_wait);
} }
} }
...@@ -2074,8 +2077,6 @@ static void mos7840_change_port_settings(struct tty_struct *tty, ...@@ -2074,8 +2077,6 @@ static void mos7840_change_port_settings(struct tty_struct *tty,
mos7840_port->read_urb_busy = false; mos7840_port->read_urb_busy = false;
} }
} }
wake_up(&mos7840_port->delta_msr_wait);
mos7840_port->delta_msr_cond = 1;
dbg("mos7840_change_port_settings mos7840_port->shadowLCR is End %x", dbg("mos7840_change_port_settings mos7840_port->shadowLCR is End %x",
mos7840_port->shadowLCR); mos7840_port->shadowLCR);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment