Skip to content

Commit 06aacc9

Browse files
Bartosz Golaszewskijfvogel
authored andcommitted
Bluetooth: hci_qca: move the SoC type check to the right place
commit 0fb410c914eb03c7e9d821e26d03bac0a239e5db upstream. Commit 3d05fc8 ("Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()") accidentally changed the prevous behavior where power control would be disabled without the BT_EN GPIO only on QCA_WCN6750 and QCA_WCN6855 while also getting the error check wrong. We should treat every IS_ERR() return value from devm_gpiod_get_optional() as a reason to bail-out while we should only set power_ctrl_enabled to false on the two models mentioned above. While at it: use dev_err_probe() to save a LOC. Cc: [email protected] Fixes: 3d05fc8 ("Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()") Signed-off-by: Bartosz Golaszewski <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Tested-by: Hsin-chen Chuang <[email protected]> Reviewed-by: Hsin-chen Chuang <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> (cherry picked from commit e428b7e205ed775a1b9c1adb16e2c15d1cff158a) Signed-off-by: Jack Vogel <[email protected]>
1 parent a9a3343 commit 06aacc9

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

drivers/bluetooth/hci_qca.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2385,14 +2385,14 @@ static int qca_serdev_probe(struct serdev_device *serdev)
23852385

23862386
qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
23872387
GPIOD_OUT_LOW);
2388-
if (IS_ERR(qcadev->bt_en) &&
2389-
(data->soc_type == QCA_WCN6750 ||
2390-
data->soc_type == QCA_WCN6855)) {
2391-
dev_err(&serdev->dev, "failed to acquire BT_EN gpio\n");
2392-
return PTR_ERR(qcadev->bt_en);
2393-
}
2388+
if (IS_ERR(qcadev->bt_en))
2389+
return dev_err_probe(&serdev->dev,
2390+
PTR_ERR(qcadev->bt_en),
2391+
"failed to acquire BT_EN gpio\n");
23942392

2395-
if (!qcadev->bt_en)
2393+
if (!qcadev->bt_en &&
2394+
(data->soc_type == QCA_WCN6750 ||
2395+
data->soc_type == QCA_WCN6855))
23962396
power_ctrl_enabled = false;
23972397

23982398
qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",

0 commit comments

Comments
 (0)