[PATCH] mtd: Allocate bdi objects dynamically

Marek Vasut marek.vasut at gmail.com
Thu Dec 1 10:18:46 PST 2016


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 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>
>>>>
>>>> I don't see any obvious problem either:
>>>> Reviewed-by: Marek Vasut <marek.vasut at gmail.com>
>>
>> Bump?
> 
> Applied to l2-mtd.git.
> 
Thanks !

-- 
Best regards,
Marek Vasut



More information about the linux-mtd mailing list