Subject: Re: [PATCH] net/cpsw: don't disable_irqs() after an interrupt has been received.

From: Sebastian Andrzej Siewior <[email-masked]>
Date: Wed, 17 Apr 2013 09:44:44 +0200

On 04/17/2013 08:19 AM, Mugunthan V N wrote:
> When using cpsw_intr_disable, it actually only disables future interrupts
> from CPSW ip. But the current interrupt generated to interrupt controller
> will be still pending and will not allow ARM to do any thing till either
> interrups is disabled or acked, thus CPU will be in CPSW ISR continuously
> and system will hang. This patch is applicable only when kernel is always
> built with RT enabled which is not the current case in Vanilla kernel

I am not talking about RT, just threaded interrupts but yes I saw the
problem first with RT.

> I have tested this patch and it hangs the CPU after net open (CPSW init).

If I remove additionally the napi_schedule() piece then the network is
dead (as expected) and the system continues to work (and I receive
interrupts) and the ISR for cpsw is not executed again. What hardware /
CPU do you have?

> Regards
> Mugunthan V N

Sebastian