diff --git a/drivers/bluetooth/btusb_main.c b/drivers/bluetooth/btusb_main.c index 1ede12515bcc..cccdfb0461fe 100644 --- a/drivers/bluetooth/btusb_main.c +++ b/drivers/bluetooth/btusb_main.c @@ -1311,13 +1311,16 @@ static inline void btusb_free_frags(struct btusb_data *data) static int btusb_recv_event(struct hci_dev *hdev, struct sk_buff *skb) { struct btusb_data *data = hci_get_drvdata(hdev); + int err; + + err = data->recv_event(hdev, skb); if (data->intr_interval) { /* Trigger dequeue immediately if an event is received */ schedule_delayed_work(&data->rx_work, 0); } - return data->recv_event(hdev, skb); + return err; } static int btusb_recv_intr(struct btusb_data *data, void *buffer, int count)