From patchwork Fri Jul 6 09:08:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 10511169 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 B72EA600CA for ; Fri, 6 Jul 2018 09:08:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A972A28478 for ; Fri, 6 Jul 2018 09:08:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9CDEE284D2; Fri, 6 Jul 2018 09:08:40 +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 3131828478 for ; Fri, 6 Jul 2018 09:08:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753514AbeGFJIj (ORCPT ); Fri, 6 Jul 2018 05:08:39 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:48446 "EHLO albert.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753177AbeGFJIj (ORCPT ); Fri, 6 Jul 2018 05:08:39 -0400 Received: from ayla.of.borg ([84.194.111.163]) by albert.telenet-ops.be with bizsmtp id 7M8d1y00X3XaVaC06M8dL2; Fri, 06 Jul 2018 11:08:37 +0200 Received: from rox.of.borg ([192.168.97.57]) by ayla.of.borg with esmtp (Exim 4.86_2) (envelope-from ) id 1fbMjF-0005DL-Nu; Fri, 06 Jul 2018 11:08:37 +0200 Received: from geert by rox.of.borg with local (Exim 4.90_1) (envelope-from ) id 1fbMjF-0008Jz-LV; Fri, 06 Jul 2018 11:08:37 +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 v2] serial: sh-sci: Stop RX FIFO timer during port shutdown Date: Fri, 6 Jul 2018 11:08:36 +0200 Message-Id: <20180706090836.31945-1-geert+renesas@glider.be> X-Mailer: git-send-email 2.17.1 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 Reviewed-by: Simon Horman --- Tested with scifa0 on r8a7740/armadillo, after echo 2000 > /sys/devices/platform/e6c40000.serial/rx_fifo_timeout v2: - Add Reviewed-by. --- 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 360664a9adf66632..6eb65160e0150f27 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c @@ -2098,6 +2098,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); }