From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay1.mentorg.com ([192.94.38.131]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1c2GIL-0008BR-Qp for linux-mtd@lists.infradead.org; Thu, 03 Nov 2016 11:34:58 +0000 Date: Thu, 3 Nov 2016 17:04:22 +0530 From: Sandeep Jain To: Richard Weinberger CC: David Woodhouse , Brian Norris , "linux-mtd@lists.infradead.org" , LKML , Steve Longerbeam , Jim Baxter Subject: Re: [PATCH] mtd: Allocate bdi objects dynamically Message-ID: <20161103113421.GA4873@mentor.com> References: <1470319275-9465-1-git-send-email-Sandeep_Jain@mentor.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 wrote: > > From: Steve Longerbeam > > > > 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 > > Signed-off-by: Jim Baxter > > Signed-off-by: Sandeep Jain > > Reviewed-by: Richard Weinberger > > -- > Thanks, > //richard