Commit Graph

131 Commits

Author SHA1 Message Date
Darian Leung
54b6c902d3 usb: Add USB Host Library sudden disconnect tests 2021-11-02 14:30:58 +08:00
Darian Leung
0c758c8557 usb: Fix how the HCD handles sudden disconnection
This commit fixes how the USB Host HCD handles sudden disconnections.

Bugs:
- HW channels remain active when the port suddenly disconnects, and
previously the channel would be disabled by setting the disabled bit,
then waiting for a disabled interrupt. However, ISOC channels do not
generate the disabled interrupt when the port is invalid, thus leading
to tasks getting indefinitely blocked in hcd_pipe_command().

Fix:
On a sudden disconnection, forcibly treat all channels as halted even
if their HCCHAR.ChEna bit is still set. We do a soft reset after a port
error anyways, so the channels will eventually be reset.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-02 14:30:58 +08:00
Darian Leung
0159c37cf2 usb: Fix LL 8/16 bit register field access
This commit addes the 8/16 bit register field access workarounds to
the DWC_OTG peripheral. This workaround was applied to all other
peripherals in commit 874a720286.
2021-11-02 14:30:58 +08:00
Zim Kalinowski
13ab2cd9f9 Merge branch 'bugfix/spiram_abort_allocation_failure' into 'master'
SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram

Closes IDFGH-5870

See merge request espressif/esp-idf!15454
2021-11-02 05:36:18 +00:00
Omar Chebib
96391ef62b SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram 2021-11-02 05:36:18 +00:00
morris
b2c2e2302b Merge branch 'feature/KSZ8091_support' into 'master'
Add support for Eth PHY KSZ8091

Closes IDFGH-5845

See merge request espressif/esp-idf!15702
2021-11-02 02:37:53 +00:00
Ivan Grokhotkov
f47e8f90ce Merge branch 'bugfix/multi_heap_get_info_impl' into 'master'
heap: fix multi_heap_get_info_impl

See merge request espressif/esp-idf!15470
2021-11-01 21:21:22 +00:00
gaoxiaojie
0028e2c23c heap: fix multi_heap_get_info_impl 2021-11-01 16:08:07 +00:00
ma-lalonde
0f754551dd Add support for Eth PHY KSZ8091 2021-11-01 11:11:18 -04:00
KonstantinKondrashov
884a6b17cc spi_flash: No CPU release time for an erase operation when OS is not running
During the early start, the virtual eFuse mode can call erase operations when OS is not yet running.

Possible workaround: CONFIG_SPI_FLASH_YIELD_DURING_ERASE=n

Fixed for the legacy flash driver as well.
2021-11-01 21:49:24 +08:00
Cao Sen Miao
049349a087 Merge branch 'feature/usb_serial_default_option' into 'master'
usb_serial_jtag: Add secondary menu to support using usb_serial port to print when primary is uart

Closes IDF-3525 and IDF-3555

See merge request espressif/esp-idf!14554
2021-11-01 11:22:35 +00:00
Cao Sen Miao
adfb7bed96 vfs_usb_serial: set secondary selection for making usb port can output under default menu 2021-11-01 15:48:36 +08:00
Jan Procházka
fb22c1f182 fatfs: Implementation of disk_status nad disk_initialize for SD/MMC card
FATFS provides a disk status and disk initialize callback which were not
implemented. Implementation has very low impact on SD/MMC speed and
fixes issues, when trying to open file when SD card was removed from
slot and not deinited.

If disk_status returns STA_NOINIT, it will always continue with
disk_initialize. If that returns 0, it will continue like everything is
working normally. So there has to be the same check as in disk_status.
Return of disk_initialize is always checked like this for STA_NOINIT or
STA_PROTECT so if command fails, we return the STA_NOINIT.

stat = disk_initialize(pdrv);
if (stat & STA_NOINIT) return FR_NOT_READY;
if (stat & STA_PROTECT) return FR_WRITE_PROTECTED;

Closes IDF-4125
2021-11-01 15:11:40 +08:00
Omar Chebib
5206afe755 Merge branch 'bugfix/fix_select_timeout' into 'master'
VFS: `select` function's timeout is now POSIX compliant

Closes IDFGH-5807

See merge request espressif/esp-idf!15374
2021-11-01 07:01:20 +00:00
Mahavir Jain
a89d56082f Merge branch 'bugfix/memprot_bad_esp_restart_check' into 'master'
System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()

See merge request espressif/esp-idf!15414
2021-10-29 12:17:32 +00:00
Island
c33db5d4f5 Merge branch 'bugfix/ble_mesh_update_license' into 'master'
ble_mesh: stack: update license of esp specific files

See merge request espressif/esp-idf!15603
2021-10-29 09:56:33 +00:00
Martin Vychodil
dffb92e45f System/Security: wrong check of the Memprot feature in esp_restart()/panic_restart()
esp_restart()/panic_restart() never resets the Digital system (so far required only by the Memprot feature) as there's a typo in the corresponding #define:
it checks CONFIG_ESP_SYSTEM_CONFIG_MEMPROT_FEATURE instead of CONFIG_ESP_SYSTEM_MEMPROT_FEATURE.
Issue fixed.

IDF-4094
2021-10-29 16:28:28 +08:00
Sudeep Mohanty
4846222102 freertos: update freertos folder structure to match upstream
The following changes have been made:
1. All FreeRTOS kernel source files are now placed in the
   freertos/FreeRTOS-Kernel folder to match with the upstream folder structure.
2. All kernel include files are now placed in freertos/FreeRTOS-Kernel/include.
3. All port files are now placed in freertos/FreeRTOS-Kernel/portable.
4. All additions/customizations are placed in freertos/esp_additions.
5. All other miscellaneous files (README, License files etc.) are moved to
   freertos/FreeRTOS-Kernel folder to match with the upstream.
6. Updated esp-cryptoauthlib to latest commit to resolve FreeRTOS
   include dependencies.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-10-29 12:05:13 +08:00
lly
eeb9a9bd2c ble_mesh: stack: Update license of esp specific files 2021-10-28 21:20:27 +08:00
Sudeep Mohanty
ac0cbebb89 ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers
This commit fixes a bug in no-split and allow-split ring buffers free buffer size calculation.
When the free size available in the buffers less than the size of one item header,
the function prvGetCurMaxSizeNoSplit/AllowSplit() incorrectly returned the maxItemSize instead of 0.
This is due to the comparision between a negative and a positive value
where both operands are treated as unsigned during the comparision operation,
thereby treating the negative operand as a large integer.

Also added new unit tests to test buffer-full and almost-full conditions
where this scenario is likely to be hit.

Closes https://github.com/espressif/esp-idf/issues/7344
Closes https://github.com/espressif/esp-idf/pull/7371
2021-10-28 14:02:18 +05:30
Sudeep Mohanty
0d81eb9855 Merge branch 'bugfix/ringbuf_send_semaphore_release_order' into 'master'
esp_ringbuf: Fix order of semaphore release in xRingbufferSend

Closes IDFGH-6030 and IDFGH-6036

See merge request espressif/esp-idf!15657
2021-10-28 05:30:31 +00:00
Jiang Jiang Jian
05a618ce10 Merge branch 'feature/decouple_softap_and_8684_support' into 'master'
Feature/decouple softap and 8684 support

See merge request espressif/esp-idf!15564
2021-10-28 04:13:18 +00:00
Omar Chebib
73303e5de0 VFS: select function's timeout is now POSIX compliant
`select` function will now round up the timeout passed as a parameter (if any).
It  makes it POSIX compliant.

* Closes https://github.com/espressif/esp-idf/issues/7514
2021-10-28 02:52:59 +00:00
Fu Hanxi
b9aa7182e8 fix: git ls-files wrong result when call via pre-commit in worktrees 2021-10-27 14:20:49 +08:00
Cao Sen Miao
bd2a524a12 Merge branch 'bugfix/esp_timer_before_init' into 'master'
esp_timer: allow querying the timer before esp_timer_init is called

Closes IDF-3570

See merge request espressif/esp-idf!14428
2021-10-27 05:49:06 +00:00
RichFalk
1222f6dd3a esp_ringbuf: Fix assertion xQueueGenericSend queue.c:818
The release of the semaphore indicating the item was successfully sent must be the last semaphore released.  The receiver may be in another task and may delete the Ringbuffer (such as with a return code across tasks design pattern) if they are through with the Ringbuffer.

The function xRingbufferSendAcquire followed by xRingbufferSendComplete had the semaphores released in the proper order and that same pattern should have been used in xRingbufferSend and xRingbufferSendFromISR.  This commit fixes this order.

Issue (IDFGH-6030) #7716 describes the problem in more detail.

Closes IDFGH-6030, https://github.com/espressif/esp-idf/issues/7716
Closes IDFGH-6036, https://github.com/espressif/esp-idf/pull/7721
2021-10-27 09:54:36 +05:30
Zhang Jun Hao
a568b4fddf esp_wifi: support station only mode for code size down 2021-10-27 11:48:22 +08:00
Island
8037e2462f Merge branch 'bugfix/heartbeat_filter_with_acceptlist' into 'master'
ble_mesh: stack: Fix heartbeat filter with accept list error

See merge request espressif/esp-idf!14529
2021-10-27 02:50:00 +00:00
David Čermák
bcbef9a8db Merge branch 'bugfix/ping_sock_0_valid' into 'master'
lw-ip: Fix ping socket create to allow for fd=0

See merge request espressif/esp-idf!15644
2021-10-26 14:27:45 +00:00
Ivan Grokhotkov
1561fbd2c5 Merge branch 'ci/minimum_pipeline_for_revert_branch' into 'master'
ci: minimum pipeline for 'revert-' branches

Closes IDFCI-920

See merge request espressif/esp-idf!15592
2021-10-26 12:14:30 +00:00
Cao Sen Miao
b0123199da esp_timer: init rtc timer and system timer in early init 2021-10-26 19:07:34 +08:00
Anton Maklakov
e525964f67 Merge branch 'bugfix/gdbstub_4_c3' into 'master'
Add missing function for C3

See merge request espressif/esp-idf!15538
2021-10-26 10:16:38 +00:00
Fu Hanxi
4cc18e9582 ci: minimum pipeline for 'revert-' branches 2021-10-26 17:55:58 +08:00
Alexey Gerenkov
e777653222 Merge branch 'feature/esp32s3_apptrace' into 'master'
apptrace/trax: Adds ESP32-S3 support

Closes IDF-1785

See merge request espressif/esp-idf!14857
2021-10-26 09:50:40 +00:00
lly
fc97277e2f ble_mesh: stack: Update the license of provisioner_main.c 2021-10-26 17:44:36 +08:00
David Cermak
7b91343ca7 lwip: Fix ping socket create to allow for fd=0
0 is a valid socket description, so should be accepted after we create a
socket. In IDF, though, it's just a theoretical issue, as customers have
to configure:
* FD_SETSIZE = CONFIG_LWIP_MAX_SOCKETS (from makefiles)
* CONFIG_VFS_SUPPORT_IO = n (from menuconfig)

(this configuration is currently broken, but if we adjust the IDF here
and there we could reproduce the issue)
2021-10-26 08:19:26 +02:00
Jakob Hasse
04dc51732b Merge branch 'feature/spi_cxx' into 'master'
[cxx]: simple spi master class

Closes IDF-3750

See merge request espressif/esp-idf!13363
2021-10-26 02:44:35 +00:00
Anton Maklakov
c670e17383 Merge branch 'feature/add_esp32-h2_esp32-c6_to_ttfw' into 'master'
tools: update ttfw to support ESP32-H2 and ESP32-C6 chips

See merge request espressif/esp-idf!15443
2021-10-26 02:35:29 +00:00
Guo Jia Cheng
a928411ab3 Merge branch 'feature/mdns-subtype' into 'master'
mdns: support service subtype

Closes IDFGH-3560

See merge request espressif/esp-idf!15467
2021-10-25 07:50:49 +00:00
Dmitry
1457c42f6f bugfix/esp-gdbstrub: add missing function for esp32c3/esp32h2. 2021-10-25 10:30:50 +03:00
Jakob Hasse
7efb01846f [cxx]: simple spi master class
* spi cxx unit test (CATCH-based, on host)
* added portmacro.h to driver mocking
* added simple testing app to write/read SPI,
  using an MPU9250
2021-10-25 14:56:59 +08:00
Darian
e5f5eb3cbb Merge branch 'refactor/freertos_deprecate_critical_nested_macros' into 'master'
freertos: Deprecate critical nested macros

Closes IDF-4036

See merge request espressif/esp-idf!15539
2021-10-23 07:42:15 +00:00
Alexey Gerenkov
111ba5bbe6 trax: Adds ESP32-S3 support 2021-10-22 23:36:28 +03:00
Alexey Gerenkov
5911eb3f3e apptrace: Adds ESP32-S3 support 2021-10-22 23:24:00 +03:00
Alex Lisitsyn
bdf0298009 Bugfix/modbus fix copyright headers 2021-10-23 01:23:03 +08:00
David Čermák
fb24a2941c Merge branch 'feature/add_dhcp_option' into 'master'
lwip/dhcp: add configure for enable vendor class identify option

Closes IDFGH-4998

See merge request espressif/esp-idf!13867
2021-10-22 14:37:22 +00:00
Krzysztof
3247f66783 tools: update ttfw to support ESP32-H2 and ESP32-C6 chips 2021-10-22 16:29:46 +08:00
Darian Leung
d6f2fa4bab freertos: Remove critical nested macros
This commit removes the following critical nested macros as follows:

- portENTER_CRITICAL_NESTED()
- portEXIT_CRITICAL_NESTED()

They are replaced with portSET_INTERRUPT_MASK_FROM_ISR() and
portCLEAR_INTERRUPT_MASK_FROM_ISR() which are the proper FreeRTOS interfaces.

Created a portmacro_deprecated.h for each port to contain deprecated API
that were originally from portmacro.h
2021-10-22 13:17:20 +08:00
Guo Jia Cheng
c1d3b295e8 Merge branch 'feature/trel' into 'master'
br: support Thread Radio Encapsulation Link (TREL)

See merge request espressif/esp-idf!15106
2021-10-22 03:31:41 +00:00
yuanjm
2fa617e510 ci: remove copyright ignore list 2021-10-22 11:17:59 +08:00