I'm migrating code from ncs 2.7 to 2.9.
I am using CONFIG_BT_EXT_ADV and scan timeout callback - such timeout requires CONFIG_BT_EXT_ADV: RE: nRF Connect SDK Scan Timeout
It was working fine. Now it's no more. Scan start returns error, and this error boils down to the following code in function valid_le_scan_param() located in ncs/zephyr/subsys/bluetooth/host/scan.c
if (IS_ENABLED(CONFIG_BT_PRIVACY) && param->type == BT_LE_SCAN_TYPE_ACTIVE && param->timeout != 0) { /* This is marked as not supported as a stopgap until the (scan, * adv, init) roles are reworked into proper state machines. * * Having proper state machines is necessary to be able to * suspend all roles that use the (resolvable) private address, * update the RPA and resume them again with the right * parameters. * * Else we lower the privacy of the device as either the RPA * update will fail or the scanner will not use the newly * generated RPA. */ return false;
As can be seen, timeout != 0 ends in error.
It's new condition, added somewhere between ncs 2.7 and 2.9 and I would call it regression and breaking change.
So, what's the expected path forward?