From patchwork Tue Jun 23 19:58:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 191568 Delivered-To: patch@linaro.org Received: by 2002:a54:3249:0:0:0:0:0 with SMTP id g9csp1342943ecs; Tue, 23 Jun 2020 13:45:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzzyp93NDsaHJ0aJk8cay3QN0LwYYLK7DsBHGKKPmyWGbaJz7+9It3gCjtt6p8GI/gSAMXe X-Received: by 2002:a50:cd53:: with SMTP id d19mr4735787edj.300.1592945116589; Tue, 23 Jun 2020 13:45:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592945116; cv=none; d=google.com; s=arc-20160816; b=AL3rBbigMMI3u/6JBIJgjulErdAcYze6IczO2MYKOZFjcC3kBgtP+xZrlakMPbqCCR WEmovOF3Wr4LkvxiLOyyHFXagz5CthJo9NByHJJsQaNV0paPk1meFzu9Vk4f5gnL1lfR VgY5V/0PaL3oOhMmZKkDyfJuYPA0IeYUqvbOxGCGrT7lR3qu5QUn9/349XGn9NbREiYM LVIcO+iDXeaB5LGt1coCc96sEcL9uSsCuwC/zdS8HgPRGfZQ+JIRK/MB4Xdui5FDB+MD ybU6G36Gv29SZSJXKWtoAEj6fTTT2QCTLlC7Uz5+SZ+4o6t2jlz3Saqps+k0l/w3rc/9 A/xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=eWG41apezNBT0mhFPV2VP2ZnNMH3LOtDCZ8JFXcI96o=; b=C8V7lti9hKe5ipav6yXgXjnvJAtgCUShQH3yBU1Wr7rwoW0L57qP5X3vEPTPIqHQiR Ot4AKHwAzB3BCCwCtlwAEThoFEbf13fUqx49+101EThkUpXDMDx+afy4G6Mf3PuJW4By 25AYjpQgqS+MrXFeGY6b7f+eeDHHtwoyLpSCl7ju+SVmTaxu6SLtM94d4zc5YwSHnNrM dJAHZKehGXtUtOYf2wv0TMw9Ro2EJfyKgIEFd50EsdR6lWTyAWVLOfn8fnWN2Ty+cPkW nBtGTg+6HMRv4S6KUeNVl7h4oFDkQoz4AqFidooAzjlYLwIFXI7QAydxNaW6bIBN0u5/ g1Xg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JBND5h1Q; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y18si11475789ejm.315.2020.06.23.13.45.16; Tue, 23 Jun 2020 13:45:16 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JBND5h1Q; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391959AbgFWUpO (ORCPT + 15 others); Tue, 23 Jun 2020 16:45:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:42584 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392620AbgFWUpN (ORCPT ); Tue, 23 Jun 2020 16:45:13 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 07BDE21BE5; Tue, 23 Jun 2020 20:45:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592945113; bh=hLENz0suJG+fP0XfCenJkihwb8wuW0zFKxhgde01oWI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JBND5h1Q+tm4ufnjzh5pH4xkIAXQNAZCLXPLSdl1qAEYActsf/j5KTyVrl7T2Y2Fc 6OMY58ELdjmfrR8PaWjCVksObFQm0/msM02ttbhCybDGg4icsvIUJv4qqqnZiMbsc5 NlDJBEDO76M2v/2fWLnnjewsdlxgeCfwYkWx3cNc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andy Shevchenko , Russell King , Jiri Slaby , linux-serial@vger.kernel.org, Valentin Schneider , John Stultz , Sasha Levin Subject: [PATCH 4.14 045/136] serial: amba-pl011: Make sure we initialize the port.lock spinlock Date: Tue, 23 Jun 2020 21:58:21 +0200 Message-Id: <20200623195305.911893950@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195303.601828702@linuxfoundation.org> References: <20200623195303.601828702@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: John Stultz [ Upstream commit 8508f4cba308f785b2fd4b8c38849c117b407297 ] Valentine reported seeing: [ 3.626638] INFO: trying to register non-static key. [ 3.626639] the code is fine but needs lockdep annotation. [ 3.626640] turning off the locking correctness validator. [ 3.626644] CPU: 7 PID: 51 Comm: kworker/7:1 Not tainted 5.7.0-rc2-00115-g8c2e9790f196 #116 [ 3.626646] Hardware name: HiKey960 (DT) [ 3.626656] Workqueue: events deferred_probe_work_func [ 3.632476] sd 0:0:0:0: [sda] Optimal transfer size 8192 bytes not a multiple of physical block size (16384 bytes) [ 3.640220] Call trace: [ 3.640225] dump_backtrace+0x0/0x1b8 [ 3.640227] show_stack+0x20/0x30 [ 3.640230] dump_stack+0xec/0x158 [ 3.640234] register_lock_class+0x598/0x5c0 [ 3.640235] __lock_acquire+0x80/0x16c0 [ 3.640236] lock_acquire+0xf4/0x4a0 [ 3.640241] _raw_spin_lock_irqsave+0x70/0xa8 [ 3.640245] uart_add_one_port+0x388/0x4b8 [ 3.640248] pl011_register_port+0x70/0xf0 [ 3.640250] pl011_probe+0x184/0x1b8 [ 3.640254] amba_probe+0xdc/0x180 [ 3.640256] really_probe+0xe0/0x338 [ 3.640257] driver_probe_device+0x60/0xf8 [ 3.640259] __device_attach_driver+0x8c/0xd0 [ 3.640260] bus_for_each_drv+0x84/0xd8 [ 3.640261] __device_attach+0xe4/0x140 [ 3.640263] device_initial_probe+0x1c/0x28 [ 3.640265] bus_probe_device+0xa4/0xb0 [ 3.640266] deferred_probe_work_func+0x7c/0xb8 [ 3.640269] process_one_work+0x2c0/0x768 [ 3.640271] worker_thread+0x4c/0x498 [ 3.640272] kthread+0x14c/0x158 [ 3.640275] ret_from_fork+0x10/0x1c Which seems to be due to the fact that after allocating the uap structure, nothing initializes the spinlock. Its a little confusing, as uart_port_spin_lock_init() is one place where the lock is supposed to be initialized, but it has an exception for the case where the port is a console. This makes it seem like a deeper fix is needed to properly register the console, but I'm not sure what that entails, and Andy suggested that this approach is less invasive. Thus, this patch resolves the issue by initializing the spinlock in the driver, and resolves the resulting warning. Cc: Andy Shevchenko Cc: Russell King Cc: Jiri Slaby Cc: linux-serial@vger.kernel.org Reported-by: Valentin Schneider Reviewed-by: Andy Shevchenko Signed-off-by: John Stultz Reviewed-and-tested-by: Valentin Schneider Link: https://lore.kernel.org/r/20200428184050.6501-1-john.stultz@linaro.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/tty/serial/amba-pl011.c | 1 + 1 file changed, 1 insertion(+) -- 2.25.1 diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 637f72fb6427f..e55b556337214 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2605,6 +2605,7 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, uap->port.fifosize = uap->fifosize; uap->port.flags = UPF_BOOT_AUTOCONF; uap->port.line = index; + spin_lock_init(&uap->port.lock); amba_ports[index] = uap;