From patchwork Sat Jun 27 13:28:55 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Hurley X-Patchwork-Id: 6684961 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id C73529F1C1 for ; Sat, 27 Jun 2015 13:29:14 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 850AC20762 for ; Sat, 27 Jun 2015 13:29:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7E6A42072B for ; Sat, 27 Jun 2015 13:29:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755069AbbF0N3I (ORCPT ); Sat, 27 Jun 2015 09:29:08 -0400 Received: from mail-qc0-f170.google.com ([209.85.216.170]:34668 "EHLO mail-qc0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754042AbbF0N3G (ORCPT ); Sat, 27 Jun 2015 09:29:06 -0400 Received: by qcji3 with SMTP id i3so35560419qcj.1 for ; Sat, 27 Jun 2015 06:29:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ZVsG9N1D0jG39KSToh71+g2BNLi74hsPa04Df/QGSjA=; b=m5J0g/QWtQDdhrYTpPb6leU1p2LMhnA3McCj9D8ODeiUJsfBhWwUiaI9Olw7lAzQoh EOYkYHNq7cbpAPczWiqjh4zE82wuU3OdAvqaQhIKgwJHPRfnpanBp7M+E6IfHGCHkBZ6 SRqvONhzCRPpy9s2v+4ApsUgHDoyASfbhF2O8YBVcVd3pb+q3b2l1gx8jjkzD4payJzz kV+L/sI3hV+J24gtgVtQdzei12iVMpmIw/pMuB18JVDOLLV61L3BotybhyzRBubGqtAy Hl6PyBJJvTviVemqnS7nEFH9RYX/9c6mAN6Yxv8seMYHPjhetLG0r1LlC5eoaMtQioiK ijkg== X-Gm-Message-State: ALoCoQmFemrSvIEuWBw99GmjcZhs2ilYHI6yE0bqH7rA4ohho8b8fxv1u+GQJFWvrMipHPEdHOn+ X-Received: by 10.55.40.131 with SMTP id o3mr14433886qko.57.1435411745862; Sat, 27 Jun 2015 06:29:05 -0700 (PDT) Received: from thor.lan (h69-21-74-195.cntcnh.broadband.dynamic.tds.net. [69.21.74.195]) by mx.google.com with ESMTPSA id o130sm8540603qhb.25.2015.06.27.06.29.05 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 27 Jun 2015 06:29:05 -0700 (PDT) From: Peter Hurley To: Greg Kroah-Hartman , linux-omap@vger.kernel.org Cc: Jiri Slaby , linux-serial@vger.kernel.org, Sebastian Andrzej Siewior , Peter Hurley Subject: [PATCH] serial: 8250_omap: Remove auto-IXON flow control Date: Sat, 27 Jun 2015 09:28:55 -0400 Message-Id: <1435411735-4053-1-git-send-email-peter@hurleysoftware.com> X-Mailer: git-send-email 2.4.5 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP OMAP h/w-assisted IXON flow control is borked. The transmitter becomes stuck if XON is never received; clearing the fifos or resetting the rx flow control bits has no effect. Remove auto-IXANY as well, since without auto-IXON, it has no purpose. Signed-off-by: Peter Hurley --- drivers/tty/serial/8250/8250_omap.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c index 9782043..7e58750 100644 --- a/drivers/tty/serial/8250/8250_omap.c +++ b/drivers/tty/serial/8250/8250_omap.c @@ -427,12 +427,9 @@ static void omap_8250_set_termios(struct uart_port *port, priv->efr |= UART_EFR_CTS; } else if (up->port.flags & UPF_SOFT_FLOW) { /* - * IXON Flag: - * Enable XON/XOFF flow control on input. - * Receiver compares XON1, XOFF1. + * OMAP rx s/w flow control is borked; the transmitter remains + * stuck off even if rx flow control is subsequently disabled */ - if (termios->c_iflag & IXON) - priv->efr |= OMAP_UART_SW_RX; /* * IXOFF Flag: @@ -443,15 +440,6 @@ static void omap_8250_set_termios(struct uart_port *port, up->port.status |= UPSTAT_AUTOXOFF; priv->efr |= OMAP_UART_SW_TX; } - - /* - * IXANY Flag: - * Enable any character to restart output. - * Operation resumes after receiving any - * character after recognition of the XOFF character - */ - if (termios->c_iflag & IXANY) - up->mcr |= UART_MCR_XONANY; } omap8250_restore_regs(up);