Add the print message to tell us why the erase operation doesn't work.

Signed-off-by: Wenyou Yang <wenyou.y...@microchip.com>
---

 drivers/mtd/spi/sf_dataflash.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/spi/sf_dataflash.c b/drivers/mtd/spi/sf_dataflash.c
index b2166ad4e5..a1a79a4d02 100644
--- a/drivers/mtd/spi/sf_dataflash.c
+++ b/drivers/mtd/spi/sf_dataflash.c
@@ -131,11 +131,17 @@ static int spi_dataflash_erase(struct udevice *dev, u32 
offset, size_t len)
        debug("%s: erase addr=0x%x len 0x%x\n", dev->name, offset, len);
 
        div_u64_rem(len, spi_flash->page_size, &rem);
-       if (rem)
+       if (rem) {
+               printf("%s: len(0x%x) isn't the multiple of page size(0x%x)\n",
+                      dev->name, len, spi_flash->page_size);
                return -EINVAL;
+       }
        div_u64_rem(offset, spi_flash->page_size, &rem);
-       if (rem)
+       if (rem) {
+               printf("%s: offset(0x%x) isn't the multiple of page 
size(0x%x)\n",
+                      dev->name, offset, spi_flash->page_size);
                return -EINVAL;
+       }
 
        status = spi_claim_bus(spi);
        if (status) {
-- 
2.13.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to