Re: [PATCH] Bluetooth: hci_event: Mask data status from LE ext adv reports

From: Chris Down
Date: Sat Jul 19 2025 - 12:04:39 EST


Hi Luiz,

Try to capture one of them using btmon and then add to the patch description.

Thanks, I have one now and will add for v2.

>> - if (evt_type == LE_EXT_ADV_NON_CONN_IND ||
>> - evt_type & LE_EXT_ADV_DIRECT_IND)
>> + if (pdu_type == LE_EXT_ADV_NON_CONN_IND ||
>
>I'm not sure I would keep checking for LE_EXT_ADV_NON_CONN_IND, maybe
>just return LE_ADV_NONCONN_IND, LE_EXT_ADV_NON_CONN_IND is not
>actually a bit it is the absence of any bits being set, so I guess the
>only invalid adv are the ones for legacy which seem to require a bit
>to be set.

So are you thinking of doing this?

if (!(pdu_type & ~(LE_EXT_ADV_DIRECT_IND)))
return LE_ADV_NONCONN_IND;

We can probably return early on if (!evt_type) return
LE_ADV_NONCONN_IND since there is no point in evaluating it if it is
zero.

I guess you meant `if (!pdu_type)`? That correctly handles the 0x40 case (where pdu_type becomes 0), but it would miss non-connectable directed advertisements (PDU type 0x04), right? Or maybe you meant something else?