bt: fix bt open fail when wifi off [1/1]

PD#SWPL-166010

Problem:
bt open fail when wifi off

Solution:
bt default power on

Verify:
soddy

Change-Id: I253a4568360ff839c23480d73d725b83d5f3ec35
Signed-off-by: Zhu Lv <zhu.lv@amlogic.com>
This commit is contained in:
Zhu Lv
2024-04-10 06:41:19 +00:00
committed by gerrit autosubmit
parent 7de96f728a
commit af9a4dcafe
+17 -12
View File
@@ -567,16 +567,6 @@ static int bt_probe(struct platform_device *pdev)
bt_device_init(pdata);
if (pdata->power_down_disable == 1) {
#ifdef CONFIG_AMLOGIC_MODIFY
async_schedule(do_bt_device_on_async, (void *)pdata);
#else
pdata->power_down_disable = 0;
bt_device_on(pdata, 100, 0);
pdata->power_down_disable = 1;
#endif
}
/* default to bluetooth off */
/* rfkill_switch_all(RFKILL_TYPE_BLUETOOTH, 1); */
/* bt_device_off(pdata); */
@@ -590,11 +580,15 @@ static int bt_probe(struct platform_device *pdev)
ret = -ENOMEM;
goto err_rfk_alloc;
}
#if IS_ENABLED(CONFIG_AMLOGIC_RFKILL_INIT_SW_UNBLOCK)
rfkill_init_sw_state(bt_rfk, false);
pr_debug("%s:linux default power on\n", __func__);
rfkill_init_sw_state(bt_rfk, false); // default power on
#else
rfkill_init_sw_state(bt_rfk, true);
pr_debug("%s:default power off\n", __func__);
rfkill_init_sw_state(bt_rfk, true); // default power off
#endif
ret = rfkill_register(bt_rfk);
if (ret) {
pr_err("rfkill_register fail\n");
@@ -608,6 +602,17 @@ static int bt_probe(struct platform_device *pdev)
prdata->bt_rfk = bt_rfk;
prdata->pdata = pdata;
platform_set_drvdata(pdev, prdata);
if (pdata->power_down_disable == 1) {
#ifdef CONFIG_AMLOGIC_MODIFY
async_schedule(do_bt_device_on_async, (void *)pdata);
#else
pdata->power_down_disable = 0;
bt_device_on(pdata, 100, 0);
pdata->power_down_disable = 1;
#endif
}
#if defined(CONFIG_AMLOGIC_LEGACY_EARLY_SUSPEND) && defined(CONFIG_AMLOGIC_GX_SUSPEND)
bt_early_suspend.level =
EARLY_SUSPEND_LEVEL_DISABLE_FB;