Hi Kiran, On Mon, Oct 14, 2024 at 4:41 AM Kiran K <kiran.k@xxxxxxxxx> wrote: > > During firmware download, vendor specific events like boot up and > secure send result are generated. These events can be safely processed at > the driver level. Passing on these events to stack prints unnecessary > below warning log. > > -- > Bluetooth: hci0: Malformed MSFT vendor event: 0x02 > -- > > Signed-off-by: Kiran K <kiran.k@xxxxxxxxx> We need the Fixes tag. > --- > drivers/bluetooth/btintel.c | 6 ++++-- > drivers/bluetooth/btintel_pcie.c | 9 ++++++--- > 2 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c > index 432f723e3869..652a5595fb16 100644 > --- a/drivers/bluetooth/btintel.c > +++ b/drivers/bluetooth/btintel.c > @@ -3383,7 +3383,8 @@ int btintel_recv_event(struct hci_dev *hdev, struct sk_buff *skb) > * indicating that the bootup completed. > */ > btintel_bootup(hdev, ptr, len); > - break; > + kfree_skb(skb); > + return 0; > case 0x06: > /* When the firmware loading completes the > * device sends out a vendor specific event > @@ -3391,7 +3392,8 @@ int btintel_recv_event(struct hci_dev *hdev, struct sk_buff *skb) > * loading. > */ > btintel_secure_send_result(hdev, ptr, len); > - break; > + kfree_skb(skb); > + return 0; Perhaps we should have a common way to drop the skb e.g. goto drop. > } > } > > diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c > index d581a539d439..b2eeb6838247 100644 > --- a/drivers/bluetooth/btintel_pcie.c > +++ b/drivers/bluetooth/btintel_pcie.c > @@ -551,7 +551,8 @@ static int btintel_pcie_recv_event(struct hci_dev *hdev, struct sk_buff *skb) > if (btintel_pcie_in_op(data)) { > btintel_pcie_wr_sleep_cntrl(data, BTINTEL_PCIE_STATE_D0); > data->alive_intr_ctxt = BTINTEL_PCIE_INTEL_HCI_RESET2; > - break; > + kfree_skb(skb); > + return 0; > } > > if (btintel_pcie_in_iml(data)) { > @@ -568,7 +569,8 @@ static int btintel_pcie_recv_event(struct hci_dev *hdev, struct sk_buff *skb) > btintel_wake_up_flag(data->hdev, > INTEL_WAIT_FOR_D0); > } > - break; > + kfree_skb(skb); > + return 0; > case 0x06: > /* When the firmware loading completes the > * device sends out a vendor specific event > @@ -576,7 +578,8 @@ static int btintel_pcie_recv_event(struct hci_dev *hdev, struct sk_buff *skb) > * loading. > */ > btintel_secure_send_result(hdev, ptr, len); > - break; > + kfree_skb(skb); > + return 0; Ditto. > } > } > > -- > 2.40.1 > > -- Luiz Augusto von Dentz