All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Johan Hovold <jhovold@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.cz>,
	Alan Stern <stern@rowland.harvard.edu>,
	linux-usb@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/6] TTY: fix DTR being raised on hang up
Date: Wed, 13 Mar 2013 15:43:43 -0400	[thread overview]
Message-ID: <1363203823.25976.102.camel@thor.lan> (raw)
In-Reply-To: <1362668153-10972-4-git-send-email-jhovold@gmail.com>

On Thu, 2013-03-07 at 15:55 +0100, Johan Hovold wrote:
> Make sure to check ASYNC_INITIALISED before raising DTR when waking up
> from blocked open in tty_port_block_til_ready.
> 
> Currently DTR could get raised at hang up as a blocked process would
> raise DTR unconditionally before checking for hang up and returning.
> 
> Signed-off-by: Johan Hovold <jhovold@gmail.com>
> ---
>  drivers/tty/tty_port.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
> index 3de5918..52f1066 100644
> --- a/drivers/tty/tty_port.c
> +++ b/drivers/tty/tty_port.c
> @@ -355,7 +355,7 @@ int tty_port_block_til_ready(struct tty_port *port,
>  
>  	while (1) {
>  		/* Indicate we are open */
> -		if (tty->termios.c_cflag & CBAUD)
> +		if (C_BAUD(tty) && test_bit(ASYNCB_INITIALIZED, &port->flags))
>  			tty_port_raise_dtr_rts(port);
>  
>  		prepare_to_wait(&port->open_wait, &wait, TASK_INTERRUPTIBLE);

This is ok, but there are 6 other *_block_til_ready() functions:

This one doesn't use DTR/RTS so can be ignored:
./drivers/staging/sb105x/sb_pci_mp.c:static int mp_block_til_ready(struct file *filp, struct sb_uart_state *state)

This one is so scary you should probably leave it alone:
./drivers/tty/serial/crisv10.c:block_til_ready(struct tty_struct *tty, struct file * filp,

These will need the same change (although be careful: some use
ASYNC_INITIALIZED rather than ASYNCB_INITIALIZED).
./drivers/tty/synclinkmp.c:static int block_til_ready(struct tty_struct *tty, struct file *filp,
./drivers/tty/synclink_gt.c:static int block_til_ready(struct tty_struct *tty, struct file *filp,
./drivers/tty/synclink.c:static int block_til_ready(struct tty_struct *tty, struct file * filp,
./net/irda/ircomm/ircomm_tty.c:static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self,

Please be sure to Cc: David Miller <davem@davemloft.net> on changes to
net/irda.

Regards,
Peter Hurley


  reply	other threads:[~2013-03-13 19:43 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1362085054.3337.20.camel@thor.lan>
2013-03-05 16:02 ` [Fwd: [PATCH v2 0/4] TTY: port hangup and close fixes] Jiri Slaby
2013-03-05 17:06   ` Peter Hurley
     [not found]     ` <1362503170.18799.33.camel-AsKIXgLx6sE@public.gmane.org>
2013-03-05 21:56       ` Jiri Slaby
2013-03-05 21:56         ` Jiri Slaby
2013-03-05 22:02         ` Peter Hurley
2013-03-05 22:10           ` Jiri Slaby
2013-03-05 22:32             ` Peter Hurley
2013-03-06 16:23               ` Jiri Slaby
2013-03-06 16:52   ` Johan Hovold
2013-03-06 19:14     ` Peter Hurley
     [not found]       ` <1362597296.18799.198.camel-AsKIXgLx6sE@public.gmane.org>
2013-03-07  9:43         ` Johan Hovold
2013-03-07  9:43           ` Johan Hovold
2013-03-07 21:52           ` Peter Hurley
     [not found]   ` <51361724.4050107-AlSwsSmVLrQ@public.gmane.org>
2013-03-07 14:55     ` [PATCH v3 0/6] TTY: port hangup and close fixes Johan Hovold
2013-03-07 14:55       ` Johan Hovold
     [not found]       ` <1362668153-10972-1-git-send-email-jhovold-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-03-07 14:55         ` [PATCH v3 1/6] TTY: clean up port shutdown Johan Hovold
2013-03-07 14:55           ` Johan Hovold
2013-03-07 14:55       ` [PATCH v3 2/6] TTY: wake up processes last at hangup Johan Hovold
2013-03-07 14:55       ` [PATCH v3 3/6] TTY: fix DTR being raised on hang up Johan Hovold
2013-03-13 19:43         ` Peter Hurley [this message]
     [not found]           ` <1363203823.25976.102.camel-AsKIXgLx6sE@public.gmane.org>
2013-03-15  9:24             ` Johan Hovold
2013-03-15  9:24               ` Johan Hovold
2013-03-15 11:03               ` Peter Hurley
2013-03-15 11:03                 ` Peter Hurley
2013-03-15 11:30                 ` Johan Hovold
2013-03-15 11:57                   ` Peter Hurley
2013-03-07 14:55       ` [PATCH v3 4/6] TTY: fix DTR not being dropped " Johan Hovold
2013-03-07 14:55       ` [PATCH v3 5/6] TTY: clean up port drain-delay handling Johan Hovold
2013-03-07 14:55       ` [PATCH v3 6/6] TTY: fix close of uninitialised ports Johan Hovold
2013-03-13 19:50       ` [PATCH v3 0/6] TTY: port hangup and close fixes Peter Hurley
2013-03-15  9:29         ` Johan Hovold
2013-03-15 19:05       ` Greg Kroah-Hartman
2013-03-15 19:42         ` Johan Hovold
2013-03-18 23:28       ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1363203823.25976.102.camel@thor.lan \
    --to=peter@hurleysoftware.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jhovold@gmail.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.