linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
@ 2013-12-07 23:02 Arnaud Ebalard
  2013-12-07 23:19 ` Russell King - ARM Linux
  0 siblings, 1 reply; 8+ messages in thread
From: Arnaud Ebalard @ 2013-12-07 23:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

I just pulled 3.13.0-rc3 and was unable to make it boot on my ReadyNAS
102 (Armada 370 based): it kernel panics w/ a missing root fs, because
my sata disk is no more seen. Looking at the log, I get the following:

[   71.855367] ahci 0000:01:00.0: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
[   71.863498] ahci 0000:01:00.0: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[   71.871650] ahci 0000:01:00.0: Coherent DMA mask 0xffffffffffffffff is larger than dma_addr_t allows
[   71.880806] ahci 0000:01:00.0: Driver did not use or check the return value from dma_set_coherent_mask()?
[   71.890395] ahci 0000:01:00.0: failed to start port 0 (errno=-12)

...

[   72.134901] xhci_hcd 0000:02:00.0: xHCI Host Controller
[   72.140188] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[   72.147631] xhci_hcd 0000:02:00.0: Coherent DMA mask 0xffffffffffffffff is larger than dma_addr_t allows
[   72.157136] xhci_hcd 0000:02:00.0: Driver did not use or check the return value from dma_set_coherent_mask()?
[   72.167072] xhci_hcd 0000:02:00.0: Couldn't initialize memory
[   72.172851] xhci_hcd 0000:02:00.0: can't setup: -12
[   72.177741] xhci_hcd 0000:02:00.0: USB bus 2 deregistered
[   72.183181] xhci_hcd 0000:02:00.0: init 0000:02:00.0 fail, -12
[   72.189031] xhci_hcd: probe of 0000:02:00.0 failed with error -12

3.13.0-rc2 worked just fine so I decided to git-bisect the issue and
ended up on 11a5aa32562e (ARM: dma-mapping: check DMA mask against
available memory).

If it has already been reported and fixed, sorry for the noise.

Cheers,

a+

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-07 23:02 [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3 Arnaud Ebalard
@ 2013-12-07 23:19 ` Russell King - ARM Linux
  2013-12-07 23:42   ` [REGRESSION, BISECTED] " Arnaud Ebalard
  0 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-12-07 23:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Dec 08, 2013 at 12:02:45AM +0100, Arnaud Ebalard wrote:
> 3.13.0-rc2 worked just fine so I decided to git-bisect the issue and
> ended up on 11a5aa32562e (ARM: dma-mapping: check DMA mask against
> available memory).
> 
> If it has already been reported and fixed, sorry for the noise.

Please try this patch, thanks:

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index f6b6bfa88ecf..c143a7bb681b 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -185,7 +185,7 @@ static u64 get_coherent_dma_mask(struct device *dev)
 		 */
 		if (sizeof(mask) != sizeof(dma_addr_t) &&
 		    mask > (dma_addr_t)~0 &&
-		    dma_to_pfn(dev, ~0) > max_dma_pfn) {
+		    dma_to_pfn(dev, ~0) < max_dma_pfn) {
 			dev_warn(dev, "Coherent DMA mask %#llx is larger than dma_addr_t allows\n",
 				 mask);
 			dev_warn(dev, "Driver did not use or check the return value from dma_set_coherent_mask()?\n");
@@ -1041,7 +1041,7 @@ int dma_supported(struct device *dev, u64 mask)
 	 */
 	if (sizeof(mask) != sizeof(dma_addr_t) &&
 	    mask > (dma_addr_t)~0 &&
-	    dma_to_pfn(dev, ~0) > arm_dma_pfn_limit)
+	    dma_to_pfn(dev, ~0) < min(max_pfn, arm_dma_pfn_limit))
 		return 0;
 
 	/*

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [REGRESSION, BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-07 23:19 ` Russell King - ARM Linux
@ 2013-12-07 23:42   ` Arnaud Ebalard
  2013-12-11 18:54     ` [REGRESSION,BISECTED] " Jason Cooper
  0 siblings, 1 reply; 8+ messages in thread
From: Arnaud Ebalard @ 2013-12-07 23:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Russell,

Russell King - ARM Linux <linux@arm.linux.org.uk> writes:

> On Sun, Dec 08, 2013 at 12:02:45AM +0100, Arnaud Ebalard wrote:
>> 3.13.0-rc2 worked just fine so I decided to git-bisect the issue and
>> ended up on 11a5aa32562e (ARM: dma-mapping: check DMA mask against
>> available memory).
>> 
>> If it has already been reported and fixed, sorry for the noise.
>
> Please try this patch, thanks:
>
> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> index f6b6bfa88ecf..c143a7bb681b 100644
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -185,7 +185,7 @@ static u64 get_coherent_dma_mask(struct device *dev)
>  		 */
>  		if (sizeof(mask) != sizeof(dma_addr_t) &&
>  		    mask > (dma_addr_t)~0 &&
> -		    dma_to_pfn(dev, ~0) > max_dma_pfn) {
> +		    dma_to_pfn(dev, ~0) < max_dma_pfn) {
>  			dev_warn(dev, "Coherent DMA mask %#llx is larger than dma_addr_t allows\n",
>  				 mask);
>  			dev_warn(dev, "Driver did not use or check the return value from dma_set_coherent_mask()?\n");
> @@ -1041,7 +1041,7 @@ int dma_supported(struct device *dev, u64 mask)
>  	 */
>  	if (sizeof(mask) != sizeof(dma_addr_t) &&
>  	    mask > (dma_addr_t)~0 &&
> -	    dma_to_pfn(dev, ~0) > arm_dma_pfn_limit)
> +	    dma_to_pfn(dev, ~0) < min(max_pfn, arm_dma_pfn_limit))
>  		return 0;
>  
>  	/*
>

With that applied, 3.13.0-rc3 boots again on my RN102 w/o any error.

Cheers,

a+

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-07 23:42   ` [REGRESSION, BISECTED] " Arnaud Ebalard
@ 2013-12-11 18:54     ` Jason Cooper
  2013-12-11 20:57       ` Russell King - ARM Linux
  0 siblings, 1 reply; 8+ messages in thread
From: Jason Cooper @ 2013-12-11 18:54 UTC (permalink / raw)
  To: linux-arm-kernel

Russell,

On Sun, Dec 08, 2013 at 12:42:47AM +0100, Arnaud Ebalard wrote:
> Hi Russell,
> 
> Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
> 
> > On Sun, Dec 08, 2013 at 12:02:45AM +0100, Arnaud Ebalard wrote:
> >> 3.13.0-rc2 worked just fine so I decided to git-bisect the issue and
> >> ended up on 11a5aa32562e (ARM: dma-mapping: check DMA mask against
> >> available memory).
> >> 
> >> If it has already been reported and fixed, sorry for the noise.
> >
> > Please try this patch, thanks:
> >
> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> > index f6b6bfa88ecf..c143a7bb681b 100644
> > --- a/arch/arm/mm/dma-mapping.c
> > +++ b/arch/arm/mm/dma-mapping.c
> > @@ -185,7 +185,7 @@ static u64 get_coherent_dma_mask(struct device *dev)
> >  		 */
> >  		if (sizeof(mask) != sizeof(dma_addr_t) &&
> >  		    mask > (dma_addr_t)~0 &&
> > -		    dma_to_pfn(dev, ~0) > max_dma_pfn) {
> > +		    dma_to_pfn(dev, ~0) < max_dma_pfn) {
> >  			dev_warn(dev, "Coherent DMA mask %#llx is larger than dma_addr_t allows\n",
> >  				 mask);
> >  			dev_warn(dev, "Driver did not use or check the return value from dma_set_coherent_mask()?\n");
> > @@ -1041,7 +1041,7 @@ int dma_supported(struct device *dev, u64 mask)
> >  	 */
> >  	if (sizeof(mask) != sizeof(dma_addr_t) &&
> >  	    mask > (dma_addr_t)~0 &&
> > -	    dma_to_pfn(dev, ~0) > arm_dma_pfn_limit)
> > +	    dma_to_pfn(dev, ~0) < min(max_pfn, arm_dma_pfn_limit))
> >  		return 0;
> >  
> >  	/*
> >
> 
> With that applied, 3.13.0-rc3 boots again on my RN102 w/o any error.

I don't see this in any of your branches.  Is there anything else you
need from us to get this merged?

thx,

Jason.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-11 18:54     ` [REGRESSION,BISECTED] " Jason Cooper
@ 2013-12-11 20:57       ` Russell King - ARM Linux
  2013-12-12 12:34         ` Jason Cooper
  0 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-12-11 20:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 11, 2013 at 01:54:45PM -0500, Jason Cooper wrote:
> I don't see this in any of your branches.  Is there anything else you
> need from us to get this merged?

Where are you looking?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-11 20:57       ` Russell King - ARM Linux
@ 2013-12-12 12:34         ` Jason Cooper
  2013-12-12 12:41           ` Russell King - ARM Linux
  0 siblings, 1 reply; 8+ messages in thread
From: Jason Cooper @ 2013-12-12 12:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 11, 2013 at 08:57:24PM +0000, Russell King - ARM Linux wrote:
> On Wed, Dec 11, 2013 at 01:54:45PM -0500, Jason Cooper wrote:
> > I don't see this in any of your branches.  Is there anything else you
> > need from us to get this merged?
> 
> Where are you looking?

I looked in for-linus-dma-masks, unstable/dma-masks, and fixes branches
at:

  http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git

That was yesterday, and I just did another quick check this morning.
Nothing jumps out at me.  Did I miss something obvious?

thx,

Jason.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-12 12:34         ` Jason Cooper
@ 2013-12-12 12:41           ` Russell King - ARM Linux
  2013-12-12 13:32             ` Jason Cooper
  0 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-12-12 12:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 12, 2013 at 07:34:22AM -0500, Jason Cooper wrote:
> On Wed, Dec 11, 2013 at 08:57:24PM +0000, Russell King - ARM Linux wrote:
> > On Wed, Dec 11, 2013 at 01:54:45PM -0500, Jason Cooper wrote:
> > > I don't see this in any of your branches.  Is there anything else you
> > > need from us to get this merged?
> > 
> > Where are you looking?
> 
> I looked in for-linus-dma-masks, unstable/dma-masks, and fixes branches
> at:
> 
>   http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git
> 
> That was yesterday, and I just did another quick check this morning.
> Nothing jumps out at me.  Did I miss something obvious?

Yes.  9f28cde0bc643186d32744ce69d12222e8588fe7, which is definitely in
the fixes branch.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3
  2013-12-12 12:41           ` Russell King - ARM Linux
@ 2013-12-12 13:32             ` Jason Cooper
  0 siblings, 0 replies; 8+ messages in thread
From: Jason Cooper @ 2013-12-12 13:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 12, 2013 at 12:41:54PM +0000, Russell King - ARM Linux wrote:
> On Thu, Dec 12, 2013 at 07:34:22AM -0500, Jason Cooper wrote:
> > On Wed, Dec 11, 2013 at 08:57:24PM +0000, Russell King - ARM Linux wrote:
> > > On Wed, Dec 11, 2013 at 01:54:45PM -0500, Jason Cooper wrote:
> > > > I don't see this in any of your branches.  Is there anything else you
> > > > need from us to get this merged?
> > > 
> > > Where are you looking?
> > 
> > I looked in for-linus-dma-masks, unstable/dma-masks, and fixes branches
> > at:
> > 
> >   http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git
> > 
> > That was yesterday, and I just did another quick check this morning.
> > Nothing jumps out at me.  Did I miss something obvious?
> 
> Yes.  9f28cde0bc643186d32744ce69d12222e8588fe7, which is definitely in
> the fixes branch.

Ahhh, yes, I saw that one.  I dismissed it as a candidate be cause the
diffstats weren't even close.  Thanks for clearing that up and sorry for
the noise.

thx,

Jason.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-12-12 13:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-07 23:02 [REGRESSION,BISECTED] DMA mask issue on ReadyNAS 102 w/ 3.13.0-rc3 Arnaud Ebalard
2013-12-07 23:19 ` Russell King - ARM Linux
2013-12-07 23:42   ` [REGRESSION, BISECTED] " Arnaud Ebalard
2013-12-11 18:54     ` [REGRESSION,BISECTED] " Jason Cooper
2013-12-11 20:57       ` Russell King - ARM Linux
2013-12-12 12:34         ` Jason Cooper
2013-12-12 12:41           ` Russell King - ARM Linux
2013-12-12 13:32             ` Jason Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).