From patchwork Tue Mar 5 16:09:07 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Hurley X-Patchwork-Id: 225074 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 544E32C032D for ; Wed, 6 Mar 2013 03:11:53 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757117Ab3CEQJy (ORCPT ); Tue, 5 Mar 2013 11:09:54 -0500 Received: from mailout01.c08.mtsvc.net ([205.186.168.189]:41141 "EHLO mailout01.c08.mtsvc.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756872Ab3CEQJv (ORCPT ); Tue, 5 Mar 2013 11:09:51 -0500 Received: from n22.c08.mtsvc.net ([205.186.176.22]) by mailout01.c08.mtsvc.net with esmtp (Exim 4.72) (envelope-from ) id 1UCuQu-0006yG-Gh; Tue, 05 Mar 2013 08:09:40 -0800 Received: from 68-189-242-29.dhcp.oxfr.ma.charter.com ([68.189.242.29]:43839 helo=thor.lan) by n22.c08.mtsvc.net with esmtpsa (TLS1.1:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80.1) (envelope-from ) id 1UCuQt-0001tA-05; Tue, 05 Mar 2013 08:09:40 -0800 From: Peter Hurley To: David Miller , Samuel Ortiz Cc: Sasha Levin , Greg Kroah-Hartman , netdev@vger.kernel.org, Jiri Slaby , linux-kernel@vger.kernel.org, Peter Hurley Subject: [PATCH 4/4] net/irda: Raise dtr in non-blocking open Date: Tue, 5 Mar 2013 11:09:07 -0500 Message-Id: <1362499747-4262-5-git-send-email-peter@hurleysoftware.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1362499747-4262-1-git-send-email-peter@hurleysoftware.com> References: <1362371063.3221.185.camel@thor.lan> <1362499747-4262-1-git-send-email-peter@hurleysoftware.com> X-Authenticated-User: 125194 peter@hurleysoftware.com X-Spam-Status: "score=-0.9 tests=ALL_TRUSTED, TVD_RCVD_IP version=3.3.1 cmae=v=1.1 cv=lrjH+2xzIqj4PtBndNBiF3kNcDPTgJYy5MO9fqj9h9k= c=1 sm=0 a=fuhtX2CasZcA:10 a=lF0tP7JmhmIA:10 a=hykYmh53AP4XJEdaM13vyQ==:17 a=xGRsDScCAAAA:8 a=8P4EMSKvzTnCEdGXLB0A:9 a=A4LuvFU5fKoA:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117" X-Spam-Level: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DTR/RTS need to be raised, regardless of the open() mode, but not if the port has already shutdown. Signed-off-by: Peter Hurley --- net/irda/ircomm/ircomm_tty.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index 522543d..362ba47 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c @@ -289,8 +289,15 @@ static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self, * If non-blocking mode is set, or the port is not enabled, * then make the check up front and then exit. */ - if (filp->f_flags & O_NONBLOCK || tty->flags & (1 << TTY_IO_ERROR)){ - /* nonblock mode is set or port is not enabled */ + if (test_bit(TTY_IO_ERROR, &tty->flags)) { + port->flags |= ASYNC_NORMAL_ACTIVE; + return 0; + } + + if (filp->f_flags & O_NONBLOCK) { + /* nonblock mode is set */ + if (tty->termios.c_cflag & CBAUD) + tty_port_raise_dtr_rts(port); port->flags |= ASYNC_NORMAL_ACTIVE; IRDA_DEBUG(1, "%s(), O_NONBLOCK requested!\n", __func__ ); return 0;