bluetooth: Fix kernel warning about usage of reset gpio
Introduced by package version: T713XXU2BQCO During a bluetooth power reset, the gpiolib warns about using the bt_reset_gpio without explicitly requesting it beforehand. Fixes: "Import latest Samsung release" [20955.983640] [1: stack_manager: 4935] ------------[ cut here ]------------ [20955.983704] [1: stack_manager: 4935] WARNING: at ../../../../../../kernel/samsung/msm8976/drivers/gpio/gpiolib.c:162 gpio_ensure_requested+0x58/0x80() [20955.983791] [1: stack_manager: 4935] autorequest GPIO-899 [20955.983838] [1: stack_manager: 4935] CPU: 1 PID: 4935 Comm: stack_manager Tainted: G W 3.10.108-g43a2eba3d169-04027-g931f0aab3e42 #1 [20955.983919] [1: stack_manager: 4935] Call trace: [20955.983958] [1: stack_manager: 4935] dump_backtrace+0x0/0xc0 [20955.984003] [1: stack_manager: 4935] show_stack+0x14/0x1c [20955.984048] [1: stack_manager: 4935] dump_stack+0x20/0x28 [20955.984093] [1: stack_manager: 4935] warn_slowpath_common+0x74/0x9c [20955.984140] [1: stack_manager: 4935] warn_slowpath_fmt+0x50/0x58 [20955.984185] [1: stack_manager: 4935] gpio_ensure_requested+0x58/0x80 [20955.984231] [1: stack_manager: 4935] gpiod_direction_output+0xb4/0x2a0 [20955.984285] [1: stack_manager: 4935] gpio_direction_output+0x18/0x20 [20955.984335] [1: stack_manager: 4935] bt_configure_gpios+0x58/0xb8 [20955.984380] [1: stack_manager: 4935] bluetooth_power+0x15c/0x204 [20955.984424] [1: stack_manager: 4935] bluetooth_toggle_radio+0x3c/0x4c [20955.984472] [1: stack_manager: 4935] rfkill_set_block+0x90/0x11c [20955.984517] [1: stack_manager: 4935] rfkill_state_store+0x84/0xa0 [20955.984563] [1: stack_manager: 4935] dev_attr_store+0x20/0x28 [20955.984607] [1: stack_manager: 4935] sysfs_write_file+0x10c/0x154 [20955.984650] [1: stack_manager: 4935] vfs_write+0xd0/0x170 [20955.984689] [1: stack_manager: 4935] SyS_write+0x48/0x74 [20955.984728] [1: stack_manager: 4935] ---[ end trace 5b8933bb00337928 ]---
This commit is contained in:
parent
19ff1d8fd1
commit
ba8ed9f494
|
@ -157,6 +157,13 @@ static int bt_configure_gpios(int on)
|
|||
BT_PWR_DBG("%s bt_gpio= %d on: %d", __func__, bt_reset_gpio, on);
|
||||
|
||||
if (on) {
|
||||
rc = gpio_request(bt_reset_gpio, "bt_sys_rst_n");
|
||||
if (rc) {
|
||||
BT_PWR_ERR("unable to request gpio %d (%d)\n",
|
||||
bt_reset_gpio, rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = gpio_direction_output(bt_reset_gpio, 0);
|
||||
if (rc) {
|
||||
BT_PWR_ERR("Unable to set direction\n");
|
||||
|
@ -402,19 +409,6 @@ static int bt_power_populate_dt_pinfo(struct platform_device *pdev)
|
|||
return bt_power_pdata->bt_gpio_sys_rst;
|
||||
}
|
||||
|
||||
rc = gpio_request(bt_power_pdata->bt_gpio_sys_rst, "bt_sys_rst_n");
|
||||
if (rc) {
|
||||
BT_PWR_ERR("unable to request gpio %d (%d)\n",
|
||||
bt_power_pdata->bt_gpio_sys_rst, rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = gpio_direction_output(bt_power_pdata->bt_gpio_sys_rst, 0);
|
||||
if (rc) {
|
||||
BT_PWR_ERR("Unable to set direction\n");
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = bt_dt_parse_vreg_info(&pdev->dev,
|
||||
&bt_power_pdata->bt_vdd_io,
|
||||
"qca,bt-vdd-io");
|
||||
|
|
Loading…
Reference in New Issue