Messages in this thread | | | From | Richard Weinberger <> | Date | Sat, 17 Sep 2016 16:41:47 +0200 | Subject | Re: [PATCH] mtd: Allocate bdi objects dynamically |
| |
On Thu, Aug 4, 2016 at 4:01 PM, Sandeep Jain <Sandeep_Jain@mentor.com> wrote: > From: Steve Longerbeam <steve_longerbeam@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@mentor.com> > Signed-off-by: Jim Baxter <jim_baxter@mentor.com> > Signed-off-by: Sandeep Jain <Sandeep_Jain@mentor.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
-- Thanks, //richard
| |