Bartosz Golaszewski
ebc18e9854
pinctrl: qcom: lpass-lpi: mark the GPIO controller as sleeping
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: 6e261d1090 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver")
Cc: stable@vger.kernel.org
Reported-by: Val Packett <val@packett.cool>
Closes: https://lore.kernel.org/all/98c0f185-b0e0-49ea-896c-f3972dd011ca@packett.cool/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-01-01 15:40:56 +01:00
..
2025-08-07 10:07:06 +02:00
2025-07-23 13:22:41 +02:00
2025-09-08 14:24:20 +02:00
2025-06-24 21:17:11 +02:00
2025-11-10 00:01:22 +01:00
2025-11-25 14:26:07 +01:00
2025-09-08 14:22:41 +02:00
2025-11-18 15:13:59 +01:00
2025-12-26 18:45:11 +01:00
2025-10-01 13:14:48 -07:00
2025-09-08 14:20:57 +02:00
2025-10-01 13:14:48 -07:00
2025-11-24 14:15:47 -05:00
2025-11-18 23:56:11 +01:00
2025-02-24 12:08:52 +02:00
2026-01-01 15:40:56 +01:00
2025-10-23 15:09:01 +02:00
2025-11-13 21:21:02 +01:00
2025-10-13 03:02:21 +02:00
2025-02-27 23:56:18 +01:00
2025-09-08 14:24:03 +02:00
2025-08-07 10:07:06 +02:00
2025-09-12 14:19:31 +02:00
2025-12-04 00:22:49 +01:00
2025-11-10 23:59:00 +01:00
2025-09-08 14:24:20 +02:00
2025-09-12 14:19:31 +02:00
2025-10-14 14:02:57 +02:00
2024-08-05 09:22:33 +02:00
2025-04-15 10:08:42 +02:00
2025-08-07 10:07:06 +02:00
2025-11-05 18:13:33 +01:00
2025-06-18 13:26:36 +02:00
2025-02-17 00:16:01 +01:00
2026-01-01 15:33:27 +01:00
2025-10-28 10:42:47 +01:00
2025-10-28 10:43:01 +01:00
2023-12-04 15:32:42 +01:00
2025-05-13 15:05:45 +02:00
2025-08-22 08:34:40 +02:00
2025-01-14 14:33:59 +01:00
2025-08-07 10:07:06 +02:00
2025-03-05 08:47:43 +01:00
2025-09-14 21:51:22 +02:00
2025-06-18 13:26:37 +02:00
2025-08-07 10:07:06 +02:00
2025-09-08 14:24:20 +02:00
2025-08-07 10:07:06 +02:00
2025-09-08 14:24:20 +02:00
2025-08-07 10:07:06 +02:00
2025-06-18 13:26:37 +02:00
2025-09-08 14:24:20 +02:00
2025-08-07 10:07:06 +02:00
2025-08-07 10:07:06 +02:00
2025-09-08 14:23:51 +02:00
2024-09-16 11:16:15 +00:00
2025-09-24 00:41:08 +02:00
2025-08-19 11:41:38 +02:00
2024-08-04 00:51:28 +02:00
2025-06-24 21:01:31 +02:00
2025-01-15 12:52:26 +01:00
2025-09-08 14:24:20 +02:00
2025-09-08 14:24:20 +02:00
2025-06-24 21:36:15 +02:00
2025-09-08 14:24:12 +02:00
2023-09-11 15:42:12 +02:00
2024-04-17 10:43:50 +02:00
2025-06-18 13:26:37 +02:00
2025-09-16 15:24:48 +01:00
2025-06-18 13:26:37 +02:00
2024-06-17 10:59:31 +02:00
2024-06-17 10:59:31 +02:00
2025-10-29 23:19:08 +01:00
2023-10-10 13:39:38 +02:00
2025-09-08 14:24:20 +02:00
2025-06-18 13:26:37 +02:00
2025-10-30 09:18:13 +01:00
2025-09-08 14:24:20 +02:00
2025-06-18 13:26:37 +02:00
2023-12-12 23:05:24 +01:00
2025-09-08 14:24:20 +02:00
2025-10-24 11:08:25 +02:00
2025-08-07 10:07:06 +02:00
2025-09-08 14:24:20 +02:00
2025-11-10 23:24:06 +01:00
2025-11-10 23:24:06 +01:00
2025-09-08 14:24:20 +02:00
2025-10-29 15:17:30 +01:00
2025-12-04 00:19:37 +01:00
2025-08-07 10:07:06 +02:00
2025-09-08 14:24:20 +02:00
2025-09-08 14:24:20 +02:00
2025-08-02 12:07:09 -07:00
2024-10-16 21:30:18 +02:00
2025-07-10 09:58:12 +01:00
2025-08-18 17:45:07 +02:00
2024-08-26 10:27:52 +02:00
2023-12-04 15:32:42 +01:00
2025-08-07 10:07:06 +02:00
2025-06-18 13:26:37 +02:00
2025-10-17 15:24:00 +02:00
2025-09-08 14:22:58 +02:00
2025-09-08 14:22:58 +02:00