diff mbox

[BUG,BISECTED] boot hangs while bringing up gianfar ethernet

Message ID 20090207225555.GA2680@ami.dom.local
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Jarek Poplawski Feb. 7, 2009, 10:55 p.m. UTC
Ira Snyder wrote, On 01/29/2009 08:41 PM:

> Hello,
> 
> I'm working on a Freescale MPC8349EMDS board. I have been booting it
> over NFS for a long time now. I try to run the latest git kernels to
> find possible problems.
> 
> Recently, I haven't been able to boot over NFS anymore. When the machine
> tries to bring up the ethernet interface, it just hangs forever. There
> are no softlockup warnings, the machine has locked up completely.
> 
> Here is the commit I bisected it down to. I tried running git revert,
> but there have been other changes which prevent an easy revert.
> 
> After building each kernel, I compiled and used the dts file from that
> kernel. There shouldn't be any conflicts there.
> 
> I'm happy to test patches to fix the problem.
> 
> Thanks,
> Ira
> 
> 8c7396aebb68994c0519e438eecdf4d5fa9c7844 is first bad commit
> commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844
> Author: Dai Haruki <dai.haruki@freescale.com>
> Date:   Wed Dec 17 16:52:00 2008 -0800
> 
>     gianfar: Merge Tx and Rx interrupt for scheduling clean up ring

Hi,

Could you try this patch?

Thanks,
Jarek P.
---

 drivers/net/gianfar.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Peter Korsgaard Feb. 9, 2009, 1:36 p.m. UTC | #1
>>>>> "Jarek" == Jarek Poplawski <jarkao2@gmail.com> writes:

 Jarek> Ira Snyder wrote, On 01/29/2009 08:41 PM:
 >> Hello,
 >> 
 >> I'm working on a Freescale MPC8349EMDS board. I have been booting it
 >> over NFS for a long time now. I try to run the latest git kernels to
 >> find possible problems.
 >> 
 >> Recently, I haven't been able to boot over NFS anymore. When the machine
 >> tries to bring up the ethernet interface, it just hangs forever. There
 >> are no softlockup warnings, the machine has locked up completely.
 >> 
 >> Here is the commit I bisected it down to. I tried running git revert,
 >> but there have been other changes which prevent an easy revert.
 >> 
 >> After building each kernel, I compiled and used the dts file from that
 >> kernel. There shouldn't be any conflicts there.

 Jarek> Hi,

 Jarek> Could you try this patch?

Solves the problem for me - Thanks. I'm not familar enough with the hw
to know if's the right fix, but it certainly fixes the nfsboot issue
for me.
Jarek Poplawski Feb. 9, 2009, 1:54 p.m. UTC | #2
On Mon, Feb 09, 2009 at 02:36:15PM +0100, Peter Korsgaard wrote:
> >>>>> "Jarek" == Jarek Poplawski <jarkao2@gmail.com> writes:
> 
>  Jarek> Ira Snyder wrote, On 01/29/2009 08:41 PM:
>  >> Hello,
>  >> 
>  >> I'm working on a Freescale MPC8349EMDS board. I have been booting it
>  >> over NFS for a long time now. I try to run the latest git kernels to
>  >> find possible problems.
>  >> 
>  >> Recently, I haven't been able to boot over NFS anymore. When the machine
>  >> tries to bring up the ethernet interface, it just hangs forever. There
>  >> are no softlockup warnings, the machine has locked up completely.
>  >> 
>  >> Here is the commit I bisected it down to. I tried running git revert,
>  >> but there have been other changes which prevent an easy revert.
>  >> 
>  >> After building each kernel, I compiled and used the dts file from that
>  >> kernel. There shouldn't be any conflicts there.
> 
>  Jarek> Hi,
> 
>  Jarek> Could you try this patch?
> 
> Solves the problem for me - Thanks. I'm not familar enough with the hw
> to know if's the right fix, but it certainly fixes the nfsboot issue
> for me.

I guess a few more familiar eyes will have a look at it yet, but let's
wait for Ira first.

Thanks very much for testing,
Jarek P.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ira Snyder Feb. 9, 2009, 5:22 p.m. UTC | #3
On Sat, Feb 07, 2009 at 11:55:56PM +0100, Jarek Poplawski wrote:
> 
> Hi,
> 
> Could you try this patch?
> 
> Thanks,
> Jarek P.
> ---
> 
>  drivers/net/gianfar.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
> index acae2d8..1335d89 100644
> --- a/drivers/net/gianfar.c
> +++ b/drivers/net/gianfar.c
> @@ -1629,6 +1629,8 @@ static void gfar_schedule_cleanup(struct net_device *dev)
>  	if (netif_rx_schedule_prep(&priv->napi)) {
>  		gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED);
>  		__netif_rx_schedule(&priv->napi);
> +	} else {
> +		gfar_write(&priv->regs->ievent, IEVENT_RTX_MASK);
>  	}
>  
>  	spin_unlock(&priv->rxlock);
> 

It works fine for me, the board now boots up normally.

Thanks for the patch,
Ira
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Fleming Feb. 9, 2009, 6:53 p.m. UTC | #4
On Feb 7, 2009, at 4:55 PM, Jarek Poplawski wrote:

> Ira Snyder wrote, On 01/29/2009 08:41 PM:
>
>> Hello,
>>
>> I'm happy to test patches to fix the problem.
>>
> Hi,
>
> Could you try this patch?

Sounds like it worked for Ira.  Jarek, could you resubmit with proper  
subject/signoff?

Thanks

Andy
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index acae2d8..1335d89 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -1629,6 +1629,8 @@  static void gfar_schedule_cleanup(struct net_device *dev)
 	if (netif_rx_schedule_prep(&priv->napi)) {
 		gfar_write(&priv->regs->imask, IMASK_RTX_DISABLED);
 		__netif_rx_schedule(&priv->napi);
+	} else {
+		gfar_write(&priv->regs->ievent, IEVENT_RTX_MASK);
 	}
 
 	spin_unlock(&priv->rxlock);