Hi Luiz, >Subject: Re: [PATCH v1] Bluetooth:btintel: Do no pass vendor events to stack > >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. > Ack. I will include it in the v2 version of the patch. >> --- >> 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 Thanks, Kiran