RE: [PATCH v1] Bluetooth:btintel: Do no pass vendor events to stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux