Messages in this thread | | | Subject | Re: [PATCH] mtd: Allocate bdi objects dynamically | From | Marek Vasut <> | Date | Thu, 1 Dec 2016 19:18:46 +0100 |
| |
On 12/01/2016 07:14 PM, Brian Norris wrote: > On Thu, Dec 01, 2016 at 04:39:23PM +0100, Marek Vasut wrote: >> On 11/29/2016 09:12 AM, Sandeep Jain wrote: >>> On Sat, Nov 05, 2016 at 08:22:31AM +0100, Marek Vasut wrote: >>>> On 11/03/2016 12:34 PM, Sandeep Jain wrote: >>>>> 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@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> >>>> >>>> I don't see any obvious problem either: >>>> Reviewed-by: Marek Vasut <marek.vasut@gmail.com> >> >> Bump? > > Applied to l2-mtd.git. > Thanks !
-- Best regards, Marek Vasut
| |