diff options
author | Sebastian Reichel <sre@kernel.org> | 2017-04-15 23:54:13 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2017-04-22 10:28:40 +0200 |
commit | f2edd9f67b8bdbe8cc3bc5c0ba4992e511147642 (patch) | |
tree | cc5074c8d7cc0ff668acda681ab15ce4361f0dab /drivers/bluetooth | |
parent | fb796707d7a6c9b24fdf80b9b4f24fa5ffcf0ec5 (diff) | |
download | op-kernel-dev-f2edd9f67b8bdbe8cc3bc5c0ba4992e511147642.zip op-kernel-dev-f2edd9f67b8bdbe8cc3bc5c0ba4992e511147642.tar.gz |
Bluetooth: hci_ll: Fix NULL pointer deref on FW upload failure
Avoid NULL pointer dereference occurring due to freeing
skb containing an error pointer. It can easily be triggered
by using the driver with broken uart (i.e. due to misconfigured
pinmuxing).
Fixes: 371805522f87 ("bluetooth: hci_uart: add LL protocol serdev driver support")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/hci_ll.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c index 485e8eb..adc444f 100644 --- a/drivers/bluetooth/hci_ll.c +++ b/drivers/bluetooth/hci_ll.c @@ -537,8 +537,7 @@ static int read_local_version(struct hci_dev *hdev) if (IS_ERR(skb)) { bt_dev_err(hdev, "Reading TI version information failed (%ld)", PTR_ERR(skb)); - err = PTR_ERR(skb); - goto out; + return PTR_ERR(skb); } if (skb->len != sizeof(*ver)) { err = -EILSEQ; |