linux-mips
[Top] [All Lists]

Re: linux 3.6.3 mips64 mtd jffs2 unmount issue

To: "Jayachandran C." <c.jayachandran@gmail.com>, Ralf Baechle <ralf@linux-mips.org>
Subject: Re: linux 3.6.3 mips64 mtd jffs2 unmount issue
From: David Daney <ddaney.cavm@gmail.com>
Date: Tue, 30 Oct 2012 10:36:39 -0700
Cc: Jacob Burkholder <jacob.burkholder@blinqnetworks.com>, "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=IjJzVNCQ+7q0pFvHQOGitQH/+Rt05/0ajGokYsv2UtE=; b=eBON5ZKnlcdYPB/0VPLK5XbGlaeHp4K1wdAouv2xWlYxPDwNZsFHxA/pjQMLEss1vM FLqrS1gxTuSE+yaqzwG9ujtXLAP7dVzqmiBAOYWh1TXBOW4Gr5G605ROZIDL38oF8hf1 4OO8S4+YU+9Ly+YOp+Rm6iyJQiFtqqNAvj7e/lkRtOug4Ra1o+b5tHAjOvrB87tMT/bz FJ8gMwXmn/Jfc7JcBjbtmC7cbpxVToNQtrKDe/E/YvUfUaT3VvFITox+h/aIw7dQKA3k JXo1zBIY8sEnmZd0KLJ7cLIDyWyfjP1CerlzYmX4HErdsfwTeJCK6dzJHC9k9z7YCcxI etpQ==
In-reply-to: <CA+7sy7CWkcsg9YffJ-rcdN7D=vZtuees31upGzgUya5puDN0og@mail.gmail.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
References: <14A0B61B8C8EFA4A9F40381A10D219104EEB0F5226@IAD2MBX02.mex02.mlsrvr.com> <CA+7sy7CWkcsg9YffJ-rcdN7D=vZtuees31upGzgUya5puDN0og@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121016 Thunderbird/16.0.1
On 10/30/2012 01:09 AM, Jayachandran C. wrote:
[...]


We had seen the same issue here, and worked around it the same way
(i.e use dynamic allocation for the backing dev structures).

I ran across a similar issue in using built-in DTB (basically, kernel
data address does not work for virt_to_phys/phys_to_virt in 64-bit
when the load address is in CKSEG0).  There I did something like this:

ptr = phys_to_virt(__pa(kernel_data_ptr));

This works since __pa knows about CKSEG0 addresses in 64bit.



Really the proper fix is to make virt_to_phys() work. This isn't the only case where we have seen failures due to this issue:


http://www.linux-mips.org/archives/linux-mips/2011-09/msg00029.html

I fixed it like this...

In io.h:

static inline unsigned long virt_to_phys(volatile const void *address)
{
        return __pa(address);
}

Really this needs to be pushed upstream by somebody.

JC.





<Prev in Thread] Current Thread [Next in Thread>