From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 26 Mar 2013 16:31:18 +0100 From: Johan Hovold To: Luis Henriques Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@lists.ubuntu.com, Johan Hovold , Greg Kroah-Hartman Subject: Re: [PATCH 098/150] USB: serial: add modem-status-change wait queue Message-ID: <20130326153118.GE9739@localhost> References: <1364311249-14454-1-git-send-email-luis.henriques@canonical.com> <1364311249-14454-99-git-send-email-luis.henriques@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1364311249-14454-99-git-send-email-luis.henriques@canonical.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: On Tue, Mar 26, 2013 at 03:19:57PM +0000, Luis Henriques wrote: > 3.5.7.9 -stable review patch. If anyone has any objections, please let me know. This patch is incorrect as the wait-queue initialisation is missing. A fix has been posted to linux-usb: http://marc.info/?l=linux-usb&m=136428758202815&w=2 and should show up in 3.9-rc5. This patch and the following use-after-free patches should not be applied without that fix. Johan > ------------------ > > From: Johan Hovold > > commit e5b33dc9d16053c2ae4c2c669cf008829530364b upstream. > > Add modem-status-change wait queue to struct usb_serial_port that > subdrivers can use to implement TIOCMIWAIT. > > Currently subdrivers use a private wait queue which may have been > released when waking up after device disconnected. > > Note that we're adding a new wait queue rather than reusing the tty-port > one as we do not want to get woken up at hangup (yet). > > Signed-off-by: Johan Hovold > Signed-off-by: Greg Kroah-Hartman > Signed-off-by: Luis Henriques > --- > include/linux/usb/serial.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h > index 86c0b45..0b61f01 100644 > --- a/include/linux/usb/serial.h > +++ b/include/linux/usb/serial.h > @@ -66,6 +66,7 @@ > * port. > * @flags: usb serial port flags > * @write_wait: a wait_queue_head_t used by the port. > + * @delta_msr_wait: modem-status-change wait queue > * @work: work queue entry for the line discipline waking up. > * @throttled: nonzero if the read urb is inactive to throttle the device > * @throttle_req: nonzero if the tty wants to throttle us > @@ -112,6 +113,7 @@ struct usb_serial_port { > > unsigned long flags; > wait_queue_head_t write_wait; > + wait_queue_head_t delta_msr_wait; > struct work_struct work; > char throttled; > char throttle_req;