[PATCH] mtd: Allocate bdi objects dynamically

Sandeep Jain Sandeep_Jain at mentor.com
Thu Nov 3 04:34:22 PDT 2016


Dear Maintainers,
  This patch is reviewed by Richard.
Requesting for Maintainer's attention for patch merge.

Thanks & Regards,
Sandeep Jain

On Sat, Sep 17, 2016 at 04:41:47PM +0200, Richard Weinberger wrote:
> On Thu, Aug 4, 2016 at 4:01 PM, Sandeep Jain <Sandeep_Jain at mentor.com> wrote:
> > From: Steve Longerbeam <steve_longerbeam at mentor.com>
> >
> > The MTD backing dev info objects mtd_bdi was statically allocated.
> > So when MTD is built as a loadable module, this object fall in the
> > vmalloc address space.
> >
> > The problem with that, is that the BDI APIs use wake_up_bit(), which calls
> > virt_to_page() to retrieve the memory zone of the page containing the
> > wait_queue to wake up, and virt_to_page() is not valid for vmalloc or
> > highmem addresses.
> >
> > Fix this by allocating the BDI objects dynamically with kmalloc. The
> > objects now fall in the logical address space so that BDI APIs will
> > work in all cases (mtd builtin or module).
> >
> > Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
> > Signed-off-by: Jim Baxter <jim_baxter at mentor.com>
> > Signed-off-by: Sandeep Jain <Sandeep_Jain at mentor.com>
> 
> Reviewed-by: Richard Weinberger <richard at nod.at>
> 
> -- 
> Thanks,
> //richard



More information about the linux-mtd mailing list