levelx icon indicating copy to clipboard operation
levelx copied to clipboard

lx_nand_flash_sector_release.c put LX_NULL into main buffer pointer when call lx_nand_flash_driver_pages_read function

Open TheBraveBurjak opened this issue 1 year ago • 2 comments

lx_nand_flash_sector_release.c

                /* Read a page.  */
#ifdef LX_NAND_ENABLE_CONTROL_BLOCK_FOR_DRIVER_INTERFACE
                status = (nand_flash -> lx_nand_flash_driver_pages_read)(nand_flash, block, (ULONG)page, LX_NULL, spare_buffer_ptr, 1);
#else
                status = (nand_flash -> lx_nand_flash_driver_pages_read)(block, (ULONG)page, LX_NULL, spare_buffer_ptr, 1);
#endif

Hello, this LX_NULL is crashing my application because I didn't expect LevelX gonna use this function to read spare bytes. Especially, when we have defined extra_bytes_get. Maybe we should use extra_bytes_get instead?

nand_flash_ptr -> lx_nand_flash_driver_extra_bytes_get = lx_nand_driver_extra_bytes_get;

TheBraveBurjak avatar Dec 27 '24 15:12 TheBraveBurjak

Thank you for the bug report @TheBraveBurjak. Can someone in @eclipse-threadx/iot-threadx-committers take a look?

fdesbiens avatar Jan 15 '25 21:01 fdesbiens

But NAND Driver Requirements doesn't state that lx_nand_flash_driver_extra_bytes_get must be implemented. I would rather keep it the original way and instead improve the Driver Read Pages description, mentioning possible null arguments.

Chabrol avatar Jan 20 '25 16:01 Chabrol