Re: [PATCH] Bluetooth: hci_event: Mask data status from LE ext adv reports
From: Luiz Augusto von Dentz
Date: Fri Jul 18 2025 - 12:06:09 EST
Hi Chris,
On Fri, Jul 18, 2025 at 4:13 AM Chris Down <chris@xxxxxxxxxxxxxx> wrote:
>
> Hi Luiz,
>
> Thanks for the review!
>
> Luiz Augusto von Dentz writes:
> >Can you include a sample trace of the above?
>
> Is that with btmon or similar? Sorry, I'm not a regular contributor to this
> subsystem :-)
>
> I mostly have a personal desire to get this merged because it's a particularly
> noisy case where I happen to live :-) These are all with 0x40:
>
> % dmesg | wc -l
> 3815
> % dmesg | grep -c 'Unknown advertising'
> 3227
Try to capture one of them using btmon and then add to the patch description.
> >Also it would be great to have a mgmt-tester for example that attempts to
> >generate an advertisement like that to exercise such change.
>
> Looks like that's in Bluez userspace code right, so what's the order of doing
> these things?
>
> >> - 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.
> Thanks for your help!
>
> Chris
--
Luiz Augusto von Dentz