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

Andy Shevchenko
2026-02-06T07:44:18Z

On Fri, Feb 06, 2026 at 11:26:23AM +0530, Vignesh Raghavendra wrote:
> On 05/02/26 23:04, Miquel Raynal wrote:
> > On 05/02/2026 at 17:57:17 +02, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >> On Thu, Feb 05, 2026 at 09:51:56AM +0100, Miquel Raynal wrote:
> >>> On 04/02/2026 at 23:12:00 +02, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >>>> On Wed, Feb 04, 2026 at 02:25:27AM +0100, Andy Shevchenko wrote:
> >>>>> Compiler is not happy about used stack frame:
> >>>>>
> >>>>> drivers/mtd/chips/cfi_cmdset_0001.c: In function 'do_write_buffer':
> >>>>> drivers/mtd/chips/cfi_cmdset_0001.c:1887:1: error: the frame size of 1296 bytes is larger than 1280 bytes [-Werror=frame-larger-than=]
> >>>>>
> >>>>> Fix this by factoring out do_write_buffer_locked().
> >>>>
> >>>> My gosh, I already sent a v2 earlier and there were some replies,
> >>>> I need to check...
> >>>
> >>> I'm not sure I get what you mean here? I got no reply (in my inbox) to
> >>> your v2. I am letting a bit of time for Vignesh to take a look, but I
> >>> know he's busy so I might take it nevertheless by the end of the week as
> >>> we are approaching the merge window.
> >>
> >> I got some strange LKP reports, I need to check them.
> >> Please, discard this email thread as we have it there
> >>
> >> https://lore.kernel.org/r/20260124133730.3454241-1-andriy.shevchenko@linux.intel.com
> >
> > Ah, this did not reach my inbox, marked SPAM... I'll discard this patch
> > for this cycle, feel free to resend once the report has been figured
> > out.
>
> Yeah, 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

Thanks for the analysis! Can you copy this as the reply to the LKP report?
I don't want to have the report and analysis in different threads, I may
forgot about this one (and actually I closed this thread for myself).

--
With Best Regards,
Andy Shevchenko