From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3ECD3876C6 for ; Mon, 12 Jan 2026 18:24:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768242244; cv=none; b=DiOyP+NcJit+g5uTA9ORJ2jq3q9pfxICOa5L1CHTOSHb7sObFgjiaccehQAhSRHnIjGjEriPBMrmNK4q2yWiodkHYZ/1+qQX2pMwL7GbPJ46UZd+EFoDgbDMFvNkSEV3m0NAvPWe2CBlAqaw4/+I/ojxAwPcIVXLuGlI6KV6aSo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768242244; c=relaxed/simple; bh=6ZeDKCWrPEsYMLLS/+8saGdqZZLCWrTPvXNGzZSPbTg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=W7A+mfvnAw9JAHwtTpvAB88Wgd67JZ3N13jeeJI0osN2H4vT/BLzPzKOm+MmVEwWRoo2+wHO8h708IqbAQN1Sq70fTNctLdHR0/qzftBlDeAJSqdG18dCeUwwSVLVjElmdqsSKjZ21Yn0IWcjzPUD3Fd8U+mp3gupsmDY74Bc94= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rxCo9OEy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rxCo9OEy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73B97C19424; Mon, 12 Jan 2026 18:24:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768242244; bh=6ZeDKCWrPEsYMLLS/+8saGdqZZLCWrTPvXNGzZSPbTg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rxCo9OEyG5l/SrxA3Uvtn1APvaUCrthQ7EF4Cx9FNxdVECaEP1T/CIcdPqemkRMGu wN7Ovpp9icyr/DONKE/oORE2QZvgVEaxJ7cnpVMlWKcUzKYbFVgHjNRgr/hWd3fXUK W5IaG/CezPYGjfOpdUSIkPLcy+WZwEKayVmRqXb8GAh3x+5IFeYBLW471HK0SsOXiV nlWA/Bliya+8ESnq37vDm6JIuCQGhtHiNGsYsQdhCKhgDaYrOCxiGNRR56XIjZy+4g NumiUZIpde472wZJAYFTq3qRo6OOBq5GH/yY6PsetdOgxIZtgPjM4F3AtC/QK0f2BF 5kmdngJ4Beerw== From: Sasha Levin To: stable@vger.kernel.org Cc: Bartosz Golaszewski , Val Packett , Dmitry Baryshkov , Bjorn Andersson , Linus Walleij , Sasha Levin Subject: [PATCH 5.15.y 2/2] pinctrl: qcom: lpass-lpi: mark the GPIO controller as sleeping Date: Mon, 12 Jan 2026 13:24:00 -0500 Message-ID: <20260112182400.841200-2-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260112182400.841200-1-sashal@kernel.org> References: <2026011237-those-catatonic-066d@gregkh> <20260112182400.841200-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Bartosz Golaszewski [ Upstream commit ebc18e9854e5a2b62a041fb57b216a903af45b85 ] The gpio_chip settings in this driver say the controller can't sleep but it actually uses a mutex for synchronization. This triggers the following BUG(): [ 9.233659] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:281 [ 9.233665] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 554, name: (udev-worker) [ 9.233669] preempt_count: 1, expected: 0 [ 9.233673] RCU nest depth: 0, expected: 0 [ 9.233688] Tainted: [W]=WARN [ 9.233690] Hardware name: Dell Inc. Latitude 7455/0FK7MX, BIOS 2.10.1 05/20/2025 [ 9.233694] Call trace: [ 9.233696] show_stack+0x24/0x38 (C) [ 9.233709] dump_stack_lvl+0x40/0x88 [ 9.233716] dump_stack+0x18/0x24 [ 9.233722] __might_resched+0x148/0x160 [ 9.233731] __might_sleep+0x38/0x98 [ 9.233736] mutex_lock+0x30/0xd8 [ 9.233749] lpi_config_set+0x2e8/0x3c8 [pinctrl_lpass_lpi] [ 9.233757] lpi_gpio_direction_output+0x58/0x90 [pinctrl_lpass_lpi] [ 9.233761] gpiod_direction_output_raw_commit+0x110/0x428 [ 9.233772] gpiod_direction_output_nonotify+0x234/0x358 [ 9.233779] gpiod_direction_output+0x38/0xd0 [ 9.233786] gpio_shared_proxy_direction_output+0xb8/0x2a8 [gpio_shared_proxy] [ 9.233792] gpiod_direction_output_raw_commit+0x110/0x428 [ 9.233799] gpiod_direction_output_nonotify+0x234/0x358 [ 9.233806] gpiod_configure_flags+0x2c0/0x580 [ 9.233812] gpiod_find_and_request+0x358/0x4f8 [ 9.233819] gpiod_get_index+0x7c/0x98 [ 9.233826] devm_gpiod_get+0x34/0xb0 [ 9.233829] reset_gpio_probe+0x58/0x128 [reset_gpio] [ 9.233836] auxiliary_bus_probe+0xb0/0xf0 [ 9.233845] really_probe+0x14c/0x450 [ 9.233853] __driver_probe_device+0xb0/0x188 [ 9.233858] driver_probe_device+0x4c/0x250 [ 9.233863] __driver_attach+0xf8/0x2a0 [ 9.233868] bus_for_each_dev+0xf8/0x158 [ 9.233872] driver_attach+0x30/0x48 [ 9.233876] bus_add_driver+0x158/0x2b8 [ 9.233880] driver_register+0x74/0x118 [ 9.233886] __auxiliary_driver_register+0x94/0xe8 [ 9.233893] init_module+0x34/0xfd0 [reset_gpio] [ 9.233898] do_one_initcall+0xec/0x300 [ 9.233903] do_init_module+0x64/0x260 [ 9.233910] load_module+0x16c4/0x1900 [ 9.233915] __arm64_sys_finit_module+0x24c/0x378 [ 9.233919] invoke_syscall+0x4c/0xe8 [ 9.233925] el0_svc_common+0x8c/0xf0 [ 9.233929] do_el0_svc+0x28/0x40 [ 9.233934] el0_svc+0x38/0x100 [ 9.233938] el0t_64_sync_handler+0x84/0x130 [ 9.233943] el0t_64_sync+0x17c/0x180 Mark the controller as sleeping. Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver") Cc: stable@vger.kernel.org Reported-by: Val Packett Closes: https://lore.kernel.org/all/98c0f185-b0e0-49ea-896c-f3972dd011ca@packett.cool/ Signed-off-by: Bartosz Golaszewski Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/qcom/pinctrl-lpass-lpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c index 61c7f230d071e..bd15009a2bcf8 100644 --- a/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c +++ b/drivers/pinctrl/qcom/pinctrl-lpass-lpi.c @@ -644,7 +644,7 @@ static int lpi_pinctrl_probe(struct platform_device *pdev) pctrl->chip.base = -1; pctrl->chip.ngpio = data->npins; pctrl->chip.label = dev_name(dev); - pctrl->chip.can_sleep = false; + pctrl->chip.can_sleep = true; mutex_init(&pctrl->lock); -- 2.51.0