[PATCH net 0/3] Fix Unbalanced IRQ Enable for CPSW and ICSSG

Siddharth Vadapalli posted 3 patches 1 month, 3 weeks ago
drivers/net/ethernet/ti/am65-cpsw-nuss.c     | 2 +-
drivers/net/ethernet/ti/icssg/icssg_common.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
[PATCH net 0/3] Fix Unbalanced IRQ Enable for CPSW and ICSSG
Posted by Siddharth Vadapalli 1 month, 3 weeks ago
Hello,

This series fixes the warning:
    Unbalanced enable for IRQ ...
for the CPSW and ICSSG drivers.

Under heavy traffic and in an SMP environment the warning shows up after
a relatively long time. The issue occurs due to the order in which the
variable 'irq_disabled' is set and the function disable_irq_nosync() is
invoked.

I have examined other drivers and they follow the right order which is
to invoke disable_irq_nosync() before setting 'irq_disabled' (or its
equivalent variable).

The first patch is for the CPSW driver and it has two Fixes tags since
the code change associated with the fix is for a recent commit while
the incorrect order was first introduced by a much older commit.

The second and third patches are for the ICSSG driver. Although they
are both for the same driver and could be squashed, I chose to split
them since they fix different commits and need to be backported as
Fixes for the respective commits.

Regards,
Siddharth.

Siddharth Vadapalli (3):
  net: ethernet: ti: am65-cpsw-nuss: set irq_disabled after disabling RX
    IRQ
  net: ethernet: ti: icssg_common: set irq_disabled after disabling TX
    IRQ
  net: ethernet: ti: icssg_common: set irq_disabled after disabling RX
    IRQ

 drivers/net/ethernet/ti/am65-cpsw-nuss.c     | 2 +-
 drivers/net/ethernet/ti/icssg/icssg_common.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.51.1
Re: [PATCH net 0/3] Fix Unbalanced IRQ Enable for CPSW and ICSSG
Posted by Simon Horman 1 month, 3 weeks ago
On Fri, Feb 20, 2026 at 09:41:56AM +0530, Siddharth Vadapalli wrote:
> Hello,
> 
> This series fixes the warning:
>     Unbalanced enable for IRQ ...
> for the CPSW and ICSSG drivers.
> 
> Under heavy traffic and in an SMP environment the warning shows up after
> a relatively long time. The issue occurs due to the order in which the
> variable 'irq_disabled' is set and the function disable_irq_nosync() is
> invoked.
> 
> I have examined other drivers and they follow the right order which is
> to invoke disable_irq_nosync() before setting 'irq_disabled' (or its
> equivalent variable).
> 
> The first patch is for the CPSW driver and it has two Fixes tags since
> the code change associated with the fix is for a recent commit while
> the incorrect order was first introduced by a much older commit.
> 
> The second and third patches are for the ICSSG driver. Although they
> are both for the same driver and could be squashed, I chose to split
> them since they fix different commits and need to be backported as
> Fixes for the respective commits.

For the series,

Reviewed-by: Simon Horman <horms@kernel.org>

...
Re: [PATCH net 0/3] Fix Unbalanced IRQ Enable for CPSW and ICSSG
Posted by Malladi, Meghana 1 month, 3 weeks ago

On 2/20/2026 9:41 AM, Siddharth Vadapalli wrote:
> Hello,
> 
> This series fixes the warning:
>      Unbalanced enable for IRQ ...
> for the CPSW and ICSSG drivers.
> 
> Under heavy traffic and in an SMP environment the warning shows up after
> a relatively long time. The issue occurs due to the order in which the
> variable 'irq_disabled' is set and the function disable_irq_nosync() is
> invoked.
> 
> I have examined other drivers and they follow the right order which is
> to invoke disable_irq_nosync() before setting 'irq_disabled' (or its
> equivalent variable).
> 
> The first patch is for the CPSW driver and it has two Fixes tags since
> the code change associated with the fix is for a recent commit while
> the incorrect order was first introduced by a much older commit.
> 
> The second and third patches are for the ICSSG driver. Although they
> are both for the same driver and could be squashed, I chose to split
> them since they fix different commits and need to be backported as
> Fixes for the respective commits.
> 
> Regards,
> Siddharth.
> 
> Siddharth Vadapalli (3):
>    net: ethernet: ti: am65-cpsw-nuss: set irq_disabled after disabling RX
>      IRQ
>    net: ethernet: ti: icssg_common: set irq_disabled after disabling TX
>      IRQ
>    net: ethernet: ti: icssg_common: set irq_disabled after disabling RX
>      IRQ
> 
>   drivers/net/ethernet/ti/am65-cpsw-nuss.c     | 2 +-
>   drivers/net/ethernet/ti/icssg/icssg_common.c | 4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
> 

Reviewed-by: Meghana Malladi <m-malladi@ti.com>

-- 
Thanks,
Meghana Malladi