OVMS3-idf/components
Ivan Grokhotkov 0f238dcdec sdmmc: fix reads/writes to/from unaligned buffers
SDMMC hardware treats all buffers as aligned, and ignores 2 LSBs of
addresses written into DMA descriptors. Previously SDMMC host driver
assumed that data buffers passed from SDDMC command layer would be
aligned. However alignment checks were never implemented in the command
layer, as were the checks that the buffer coming from the application
would be in DMA capable memory. Most of the time this was indeed true.
However in some cases FATFS library can pass buffers offset by 2 bytes
from word boundary. “DMA capable” restriction may be broken if pSRAM
support is used.

This change adds buffer checks to the SDMMC host driver (alignment and
DMA capability), so that the host layer will error out for incompatible
buffers. In SDMMC command layer, a check is added to read and write
functions. If an incompatible buffer is passed from the application, new
buffer (512 bytes size) is allocated, and the transfer is performed
using {READ,WRITE}_SINGLE_BLOCK commands.
2017-09-25 23:45:40 +08:00
..
app_update Enable checks for encrypted flash in OTA 2017-04-11 19:10:26 +08:00
aws_iot AWS IoT Device SDK Support 2017-03-13 17:23:29 +08:00
bootloader bootloader: workaround for clock switching bug in ESP32 rev. 0 2017-06-15 18:15:35 +08:00
bootloader_support component/soc : move dport access header files to soc 2017-05-09 18:06:00 +08:00
bt Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master' 2017-07-20 14:26:14 +08:00
coap coap: Initialise/update the libcoap submodule 2017-01-10 11:12:02 +11:00
cxx cxx: don’t pull libstdc++ local support in unit tests 2017-06-15 18:15:36 +08:00
driver sdmmc: fix reads/writes to/from unaligned buffers 2017-09-25 23:45:40 +08:00
esp32 fix set locked channel typo of smartconfig 2017-08-25 16:25:03 +08:00
espcoredump bugfix: fixed path to esptool when there is no compiled python module for it 2017-03-21 13:30:38 +03:00
esptool_py esptool: Update to v2.0 final release 2017-06-14 15:41:51 +10:00
ethernet docs: Generate Doxygen directives for API documentation 2017-05-19 18:26:02 +02:00
expat Build system: Raise warning level 2016-11-16 15:57:34 +11:00
fatfs fatfs: fix duplicate unit test name 2017-06-23 14:59:21 +08:00
freertos Merge branch 'bugfix/minimal_stack_size' into 'master' 2017-07-12 04:24:18 +08:00
idf_test test: add NVS compatible test case and CI job 2017-06-04 10:29:15 +08:00
jsmn Add jsmn JSON parser component 2017-03-07 10:18:47 +11:00
json cJSON:Add float format process 2017-01-09 17:51:48 +08:00
libsodium libsodium: don’t link tests when TEST_ALL=1 is used 2017-06-15 18:15:37 +08:00
log Merge branch 'bugfix/spi_flash_large_writes' into 'master' 2017-06-16 15:04:01 +08:00
lwip Merge branch 'feature/some_refactor_for_tcpip_adapter' into 'master' 2017-07-13 22:16:58 +08:00
mbedtls mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs 2017-07-13 15:55:57 +08:00
mdns Add AFL fuzz test 2017-04-05 09:23:09 +03:00
micro-ecc micro-ecc: Add submodule dependency 2016-11-17 09:18:51 +11:00
newlib newlib locks: Fix _lock_init() & _lock_init_recursive() failing to initialise a lock 2017-07-04 15:23:10 +08:00
nghttp nghttp module: Update to v1.22, use submodule instead of in-tree source 2017-05-17 14:05:54 +10:00
nvs_flash Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master' 2017-07-20 14:26:14 +08:00
openssl components/openssl : Fix compilation error when openssl debugging is enabled 2017-02-20 09:45:50 +08:00
partition_table gen_esp32part: Run unit tests on host as part of gitlab-ci 2017-05-12 16:28:41 +10:00
sdmmc sdmmc: fix reads/writes to/from unaligned buffers 2017-09-25 23:45:40 +08:00
soc fix reg operation missing 2017-07-07 22:44:05 +08:00
spi_flash spi_flash: Fix SPI flash write alignment/size bugs 2017-06-09 17:33:27 +10:00
tcpip_adapter Merge branch 'feature/some_refactor_for_tcpip_adapter' into 'master' 2017-07-13 22:16:58 +08:00
ulp examples: add ULP ADC example 2017-05-16 13:15:02 +08:00
vfs Merge branch 'bugfix/vfs_fixes' into 'master' 2017-06-23 11:33:27 +08:00
wear_levelling Getting started guides 2017-04-27 19:51:42 +02:00
wpa_supplicant wpa2 enterprise: change the type macro to platform default macro ESP_PLATFORM. 2016-11-25 16:56:09 +08:00
xtensa-debug-module component/soc : move dport access header files to soc 2017-05-09 18:06:00 +08:00