lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 322/846] Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe
    Date
    From: Miaoqian Lin <linmq006@gmail.com>

    [ Upstream commit 6845667146a28c09b5dfc401c1ad112374087944 ]

    The function devm_gpiod_get_index() return error pointers on error.
    Thus devm_gpiod_get_index_optional() could return NULL and error pointers.
    The same as devm_gpiod_get_optional() function. Using IS_ERR_OR_NULL()
    check to catch error pointers.

    Fixes: 77131dfe ("Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional()")
    Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/bluetooth/hci_qca.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
    index 3c26fc8463923..8eb7fddfb9300 100644
    --- a/drivers/bluetooth/hci_qca.c
    +++ b/drivers/bluetooth/hci_qca.c
    @@ -2058,14 +2058,14 @@ static int qca_serdev_probe(struct serdev_device *serdev)

    qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
    GPIOD_OUT_LOW);
    - if (!qcadev->bt_en && data->soc_type == QCA_WCN6750) {
    + if (IS_ERR_OR_NULL(qcadev->bt_en) && data->soc_type == QCA_WCN6750) {
    dev_err(&serdev->dev, "failed to acquire BT_EN gpio\n");
    power_ctrl_enabled = false;
    }

    qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
    GPIOD_IN);
    - if (!qcadev->sw_ctrl && data->soc_type == QCA_WCN6750)
    + if (IS_ERR_OR_NULL(qcadev->sw_ctrl) && data->soc_type == QCA_WCN6750)
    dev_warn(&serdev->dev, "failed to acquire SW_CTRL gpio\n");

    qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
    @@ -2087,7 +2087,7 @@ static int qca_serdev_probe(struct serdev_device *serdev)

    qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
    GPIOD_OUT_LOW);
    - if (!qcadev->bt_en) {
    + if (IS_ERR_OR_NULL(qcadev->bt_en)) {
    dev_warn(&serdev->dev, "failed to acquire enable gpio\n");
    power_ctrl_enabled = false;
    }
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-25 00:11    [W:3.945 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site