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

Andy Shevchenko
2026-02-10T14:45:19Z

On Tue, Feb 10, 2026 at 03:35:39PM +0530, Vignesh Raghavendra wrote:
> On 25/01/26 04:11, kernel test robot wrote:

> > kernel test robot noticed the following build warnings:
> >
> > [auto build test WARNING on mtd/mtd/next]
> > [also build test WARNING on mtd/mtd/fixes linus/master v6.19-rc6 next-20260123]
> > [If your patch is applied to the wrong git tree, kindly drop us a note.
> > And when submitting patch, we suggest to use '--base' as documented in
> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
> >
> > url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/mtd-cfi_cmdset_0001-Factor-out-do_write_buffer_locked-to-reduce-stack-frame/20260124-213936
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
> > patch link: https://lore.kernel.org/r/20260124133730.3454241-1-andriy.shevchenko%40linux.intel.com
> > patch subject: [PATCH v2 1/1] mtd: cfi_cmdset_0001: Factor out do_write_buffer_locked() to reduce stack frame
> > config: xtensa-randconfig-002-20260125 (https://download.01.org/0day-ci/archive/20260125/202601250653.LXBUL5W6-lkp@intel.com/config)
> > compiler: xtensa-linux-gcc (GCC) 8.5.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260125/202601250653.LXBUL5W6-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202601250653.LXBUL5W6-lkp@intel.com/
> >
> > All warnings (new ones prefixed by >>):
> >
> > drivers/mtd/chips/cfi_cmdset_0001.c: In function 'do_write_buffer_locked':
> >>> drivers/mtd/chips/cfi_cmdset_0001.c:1734:6: warning: unused variable 'initial_len' [-Wunused-variable]
> > int initial_len = len;
> > ^~~~~~~~~~~
> >>> drivers/mtd/chips/cfi_cmdset_0001.c:1733:16: warning: variable 'initial_adr' set but not used [-Wunused-but-set-variable]
> > unsigned long initial_adr;
> > ^~~~~~~~~~~
>
> Copying my response here again from [1] , as this LKP report seems to on a
> different thread:

Thanks! I will look at this after -rc1 is out. Maybe earlier, but quite busy
with other issue(s).

> Things become tricky with CONFIG_MTD_XIP enabled. With
> XIP_INVAL_CACHED_RANGE() moved to caller, initial_adr becomes unused
> when CONFIG_MTD_XIP=y
>
> One solution maybe to move calls to XIP_INVAL_CACHED_RANGE(),
> ENABLE_VPP(map) and xip_disable() and their complementary functions to
> do_write_buffer_locked() as these calls need to repeated for every
> writes (if and when we find need to reuse do_write_buffer_locked())
>
> Alternately move INVAL_CACHE_AND_WAIT() and everything after that to
> caller

[...]

> [1] https://lore.kernel.org/all/4d4ab8af-3e09-4e48-a79d-0af3453600c3@ti.com/

--
With Best Regards,
Andy Shevchenko