On Tue, 19 Sept 2023 at 21:42, Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com> wrote: > > When flash erase is called with size parameter, code is checking > if sectors are locked or not. But for checking, the whole device > length minus offset is used instead of actual size which should > be erased. That's why when only some sectors are locked it is > not possible to erase unlocked sectors. > > The length is calculated as "length = max_chipsize - offset", > flash_is_unlocked() api is getting updated with length which is > incorrect. Fix this flash_is_unlocked() api by passing the size > parameter. > > ZynqMP> sf erase 0 100000 > len=0x8000000 which is flash size > size=0x100000 > > We need to update the size in the flash_is_unlocked() api and not > the length. > > Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com> > --- > Changes in v2: > - Updated the commit description. > --- > cmd/sf.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass <s...@chromium.org>