From patchwork Fri Jun 29 14:25:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 10496705 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id F340060532 for ; Fri, 29 Jun 2018 14:25:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DA7F92929E for ; Fri, 29 Jun 2018 14:25:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CE346293EC; Fri, 29 Jun 2018 14:25:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5CFB52929E for ; Fri, 29 Jun 2018 14:25:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933138AbeF2OZa (ORCPT ); Fri, 29 Jun 2018 10:25:30 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:55398 "EHLO laurent.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755480AbeF2OZW (ORCPT ); Fri, 29 Jun 2018 10:25:22 -0400 Received: from ayla.of.borg ([84.194.111.163]) by laurent.telenet-ops.be with bizsmtp id 4eRL1y00k3XaVaC01eRLRp; Fri, 29 Jun 2018 16:25:21 +0200 Received: from rox.of.borg ([192.168.97.57]) by ayla.of.borg with esmtp (Exim 4.86_2) (envelope-from ) id 1fYuKu-0006sR-I3; Fri, 29 Jun 2018 16:25:20 +0200 Received: from geert by rox.of.borg with local (Exim 4.90_1) (envelope-from ) id 1fYuKu-0005Pk-GD; Fri, 29 Jun 2018 16:25:20 +0200 From: Geert Uytterhoeven To: Greg Kroah-Hartman , Jiri Slaby , Laurent Pinchart , Ulrich Hecht , Wolfram Sang Cc: linux-serial@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH 4/4] serial: sh-sci: Stop RX FIFO timer during port shutdown Date: Fri, 29 Jun 2018 16:25:13 +0200 Message-Id: <20180629142513.20743-8-geert+renesas@glider.be> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629142513.20743-1-geert+renesas@glider.be> References: <20180629142513.20743-1-geert+renesas@glider.be> Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The RX FIFO timer may be armed when the port is shut down, hence the timer function may still be called afterwards. Fix this race condition by deleting the timer during port shutdown. Fixes: 039403765e5da3c6 ("serial: sh-sci: SCIFA/B RX FIFO software timeout") Signed-off-by: Geert Uytterhoeven --- Tested with scifa0 on r8a7740/armadillo, after echo 2000 > /sys/devices/platform/e6c40000.serial/rx_fifo_timeout --- drivers/tty/serial/sh-sci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 58016386558c6789..cca3bbc62a6b1110 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2571,6 +2571,8 @@ static void sci_shutdown(struct uart_port *port) } #endif + if (s->rx_trigger > 1 && s->rx_fifo_timeout > 0) + del_timer_sync(&s->rx_fifo_timer); sci_free_irq(s); sci_free_dma(port); }