The rom function on the s2 and s3 only counts one page for any pages
which are mapped to page 0 of flash as the Cache_Flash_To_SPIRAM_Copy
function attempts to map all flash page 0 mapped pages to one PSRAM
page.
As this function can be called for multiple regions, it needs to track
if a page mapped to page 0 has previously been accounted for by a
previous call. It does this using the page0_mapped in-out parameter.
This logic contains an error:
```
if (*page0_mapped == 0) {
// BUG: If page0_count is 0, 1 is still added
count = valid_flash_count + 1 - page0_count;
} else {
count = valid_flash_count - page0_count;
}
*page0_mapped += page0_count;
return count;
```
The current Cache_Count_Flash_Pages wrapper in the idf attempts to
compensate for this bug by checking if the page0_mapped parameter was
changed by a call to the function and reducing the count if it has not.
This, however, will incorrectly over-compensate in situations where the
initial value of page0_mapped was not zero as the code above only
miscounts when it was zero.
This patch addresses the issue in this wrapper function by correctly
compensating for the bug only in cases where the final page0_mapped
value is 0.
- Fixed periodic adv enable params checking
- Fixed BLE assert lld_scan.c 1728 when receiving directed adv
- Support resolving RPA to identity address when creating connection
- Fixed BLE assert rwble.c 505 param 00400010
- Fixed peer address type error in HCI LE meta event
- Fixed setting random address failed when extended adv is enabled
(cherry picked from commit 326f391f9c)
Co-authored-by: chenjianhua <chenjianhua@espressif.com>
The original ROM function enabled output for the pad first, and then connected the signal
This could result in an undesired level change at the pad
Closes https://github.com/espressif/esp-idf/issues/12826
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
- Fixed access NULL in SCO frame end
Closes https://jira.espressif.com:8443/browse/IDFGH-10796
- Added LAP checking for Periodic Inquiry
- Removed an inproper assertion in SCO module
- Fixed wrong logic in key exchange when
LMP transaction collision occurred
- Fixed the using of wrong error code in
the transaction collision of role switch
- Fixed BLE vendor HCI set and get tx power
- Support BLE vendor HCI set adv aux offset command
- Support BLE vendor HCI set CSA support command
- Added config for BLE instant passed workaround
- Fixed btdm_sleep_clock_sync timeout workaround
(cherry picked from commit 1e3220b0b0)
Co-authored-by: chenjianhua <chenjianhua@espressif.com>