--- /dev/null
+From 1629db9c75342325868243d6bca5853017d91cf8 Mon Sep 17 00:00:00 2001
+From: Johan Hedberg <johan.hedberg@intel.com>
+Date: Tue, 27 Nov 2018 11:37:46 +0200
+Subject: Bluetooth: Fix unnecessary error message for HCI request completion
+
+From: Johan Hedberg <johan.hedberg@intel.com>
+
+commit 1629db9c75342325868243d6bca5853017d91cf8 upstream.
+
+In case a command which completes in Command Status was sent using the
+hci_cmd_send-family of APIs there would be a misleading error in the
+hci_get_cmd_complete function, since the code would be trying to fetch
+the Command Complete parameters when there are none.
+
+Avoid the misleading error and silently bail out from the function in
+case the received event is a command status.
+
+Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
+Acked-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Tested-by Adam Ford <aford173@gmail.com> #4.19.16
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_event.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -5668,6 +5668,12 @@ static bool hci_get_cmd_complete(struct
+ return true;
+ }
+
++ /* Check if request ended in Command Status - no way to retreive
++ * any extra parameters in this case.
++ */
++ if (hdr->evt == HCI_EV_CMD_STATUS)
++ return false;
++
+ if (hdr->evt != HCI_EV_CMD_COMPLETE) {
+ bt_dev_err(hdev, "last event is not cmd complete (0x%2.2x)",
+ hdr->evt);