Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 823b8420 authored by Guodong Xu's avatar Guodong Xu Committed by Marcel Holtmann
Browse files

Bluetooth: hci_ll: Fix download_firmware() return when __hci_cmd_sync fails



When __hci_cmd_sync() fails, download_firmware() should also fail, and
the same error value should be returned as PTR_ERR(skb).

Without this fix, download_firmware() will return a success when it actually
failed in __hci_cmd_sync().

Fixes: 37180552 ("bluetooth: hci_uart: add LL protocol serdev driver support")
Signed-off-by: default avatarGuodong Xu <guodong.xu@linaro.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 3a21bf58
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -624,6 +624,7 @@ static int download_firmware(struct ll_device *lldev)
			skb = __hci_cmd_sync(lldev->hu.hdev, cmd->opcode, cmd->plen, &cmd->speed, HCI_INIT_TIMEOUT);
			if (IS_ERR(skb)) {
				bt_dev_err(lldev->hu.hdev, "send command failed\n");
				err = PTR_ERR(skb);
				goto out_rel_fw;
			}
			kfree_skb(skb);