[PATCH v1 1/1] mtd: cfi_cmdset_0001: Factor out do_write_buffer_locked() to reduce stack frame

Miquel Raynal miquel.raynal at bootlin.com
Thu Jan 29 10:23:39 PST 2026


Hi Andy,

>> Fix this by factoring out do_write_buffer_locked().
>
> ...
>
>>  	XIP_INVAL_CACHED_RANGE(map, initial_adr, initial_len);
>>  	ENABLE_VPP(map);
>
> It seems more logical to leave these two in the original call.
>
> ...

[...]

>> +	DISABLE_VPP(map);
>
> Otherwise this will seem dangling here.
>
>>  	put_chip(map, chip, cmd_adr);
>>  	mutex_unlock(&chip->mutex);
>>  	return ret;
>
> ...
>
> Another approach is to leave goto as is in the _locked() and move DISABLE_VPP()
> there.
>
> Tell me what do you prefer?

While I also find more logical to keep the ENABLE_VPP/DISABLE_VPP
together, I do not mind to see them in one side or the other. I would by
default let them in the main caller and suffi the inner function with
"_locked()" as you did, but I'm fine either ways.

Thanks,
Miquèl



More information about the linux-mtd mailing list