dfu: dfu_mtd: set max_buf_size to erasesize also for NOR devices
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Thu, 4 Mar 2021 16:47:56 +0000 (17:47 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 18 Jun 2021 08:09:41 +0000 (10:09 +0200)
commit2dc41fccf347e8acba980d7bad1507cfadf11476
tree13accbec4c54559ae3ec03ed496d6c5b2597e6e9
parent88f7ca03b4a2dca45c33ae360c99f6dbe3fe394d
dfu: dfu_mtd: set max_buf_size to erasesize also for NOR devices

For NOR devices the logical DFU buffer size is the sector_size,
as it is done in dfu_sf.c or in spi/sf_mtd.c
(sf_mtd_info.erasesize = flash->sector_size)

For NAND the DFU size was already limited to erasesize as
has_pages = true.

So the mtd dfu backend can use this erasesize for all the MTD devices,
NOR and NAND with dfu->max_buf_size = mtd->erasesize

This difference was initially copied from MTD command, where
data is fully available in RAM without size limitation.

This patch avoids to have many sector write in dfu_mtd.c at the end
of the DFU transfer and avoids issues with USB timeout or WATCHDOG.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
drivers/dfu/dfu_mtd.c