Hi Johan, On Tue, Nov 27, 2018 at 11:39 AM Johan Hedberg <johan.hedberg@xxxxxxxxx> wrote: > > From: Johan Hedberg <johan.hedberg@xxxxxxxxx> > > 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@xxxxxxxxx> > --- > net/bluetooth/hci_event.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c > index ef9928d7b4fb..ac2826ce162b 100644 > --- a/net/bluetooth/hci_event.c > +++ b/net/bluetooth/hci_event.c > @@ -5711,6 +5711,12 @@ static bool hci_get_cmd_complete(struct hci_dev *hdev, u16 opcode, > 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); > -- > 2.17.2 Ack. -- Luiz Augusto von Dentz