From patchwork Tue Oct 30 22:11:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 10661671 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 581811751 for ; Tue, 30 Oct 2018 22:11:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 46D492A89E for ; Tue, 30 Oct 2018 22:11:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3AE2A2AA78; Tue, 30 Oct 2018 22:11:44 +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=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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 D7F102A89E for ; Tue, 30 Oct 2018 22:11:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728431AbeJaHG6 (ORCPT ); Wed, 31 Oct 2018 03:06:58 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:46693 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728351AbeJaHG6 (ORCPT ); Wed, 31 Oct 2018 03:06:58 -0400 Received: by mail-pl1-f195.google.com with SMTP id bb7-v6so6221587plb.13 for ; Tue, 30 Oct 2018 15:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=456uG5PlWBnfGUDyET8jKISVXeQZt6ggTh3gygckLP0=; b=BOyMZrSf0rDdTl6nQ87KKVm4mipKJOEpXnTSeLRqAacNT8A+mGPuzJT5RlQ5KEma86 vCK7u5ZxaOWf+wT+U99ktUD7wkcogFKmkbQizZ5GSvhJOG8ld1pAAT0a1u6T1wPrdvpu TK9gy3tPlJKCKO6mY0nvyBrhY4xHwsECJABTw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=456uG5PlWBnfGUDyET8jKISVXeQZt6ggTh3gygckLP0=; b=kKqQuLJi30hVjmkbSGey70grR9vd9WTDi+Lpz5Yu0+dVxX2kqtUC+tVLr+5+XF3UaM 4R4c4tlWLhifR+SnjzKV5DQJTgfQ2r9ewg7PUdtPP+KPi6G3MEvr/G3dj/KKfqUVYFtR wxRYhJ3XsPmMZnh3uSkztUXfiyYD1OFmhuwUbIyWoadmgn4x6p/tBzW2yLQL7jEi7fo8 1h2MKf6iUCW10kO7g5sQ+3HqbaBkJYg2M0sFvuZuVYMZzB67RV96FLCyqrUp/ObZJpE4 0aF64w2T0VX6dSHe+ZzDo+6TW6CxMvi5ozfohV7ASDma6WzJsEYPahpEFsr7F5O9MTs3 9lbw== X-Gm-Message-State: AGRZ1gIxKom9io4/KkhEfHXZzozMalr6zR0hLwEWOtgjmsmLlYwuPNHV C5+roFgpctrm1WDkApGYETTC+g== X-Google-Smtp-Source: AJdET5dNw5dl4KoW1C3gIRAymO5X3IH4UK1BUJscMzsym9F+sRJkSiHYwKcLxq0iCeAQ8NRIcQ6Sqw== X-Received: by 2002:a17:902:47:: with SMTP id 65-v6mr545840pla.112.1540937502633; Tue, 30 Oct 2018 15:11:42 -0700 (PDT) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:1:c8e0:70d7:4be7:a36]) by smtp.gmail.com with ESMTPSA id b11-v6sm12844491pgi.10.2018.10.30.15.11.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Oct 2018 15:11:41 -0700 (PDT) From: Douglas Anderson To: Greg Kroah-Hartman , Jiri Slaby Cc: linux-arm-kernel@lists.infradead.org, vigneshr@ti.com, linux-aspeed@lists.ozlabs.org, andrew@aj.id.au, tony@atomide.com, joel@jms.id.au, linux-serial@vger.kernel.org, linux-arm-msm@vger.kernel.org, andriy.shevchenko@linux.intel.com, dan.carpenter@oracle.com, jk@ozlabs.org, Douglas Anderson Subject: [PATCH v2 1/5] serial: qcom_geni_serial: Finish supporting sysrq Date: Tue, 30 Oct 2018 15:11:03 -0700 Message-Id: <20181030221107.79758-2-dianders@chromium.org> X-Mailer: git-send-email 2.19.1.568.g152ad8e336-goog In-Reply-To: <20181030221107.79758-1-dianders@chromium.org> References: <20181030221107.79758-1-dianders@chromium.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The geni serial driver already had some sysrq code in it, but since SUPPORT_SYSRQ wasn't defined the code didn't do anything useful. Let's make it useful by adding that define using the same formula found in other serial drivers. In order to prevent deadlock, we'll take a page from the 'msm_serial.c' where the spinlock is released around uart_handle_sysrq_char(). This seemed better than copying from '8250_port.c' where we skip locking in the console_write function since the '8250_port.c' method can cause lockdep warnings when dropping into kgdb. Signed-off-by: Douglas Anderson --- drivers/tty/serial/qcom_geni_serial.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index 1515074e18fb..b83e3554bced 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -1,6 +1,10 @@ // SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2017-2018, The Linux foundation. All rights reserved. +#if defined(CONFIG_SERIAL_QCOM_GENI_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) +# define SUPPORT_SYSRQ +#endif + #include #include #include @@ -495,7 +499,10 @@ static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop) continue; } + spin_unlock(&uport->lock); sysrq = uart_handle_sysrq_char(uport, buf[c]); + spin_lock(&uport->lock); + if (!sysrq) tty_insert_flip_char(tport, buf[c], TTY_NORMAL); }