Re: [net,PATCH] net: ks8851: Reinstate disabling of BHs around IRQ handler

Marek Vasut
2026-04-08T15:42:10Z

On 4/8/26 12:54 PM, Nicolai Buchwitz wrote:

Hello Nicolai,

thank you for testing on the SPI variant, that helped a lot.

> In order to make this work I would propose something like this (which
> works in my SPI setup):
>
> --- a/drivers/net/ethernet/micrel/ks8851_par.c
> +++ b/drivers/net/ethernet/micrel/ks8851_par.c
> @@ -60,12 +60,14 @@ static void ks8851_lock_par(struct ks8851_net *ks,
> unsigned long *flags)
>  {
>      struct ks8851_net_par *ksp = to_ks8851_par(ks);
>
> +    local_bh_disable();
>      spin_lock_irqsave(&ksp->lock, *flags);
>  }
>
>  static void ks8851_unlock_par(struct ks8851_net *ks, unsigned long
> *flags)
>  {
>      struct ks8851_net_par *ksp = to_ks8851_par(ks);
>
>      spin_unlock_irqrestore(&ksp->lock, *flags);
> +    local_bh_enable();
>  }
>
> Tested-by: Nicolai Buchwitz <nb@tipi-net.de>  # KS8851 SPI, non-RT
> (regression + proposed fix)

Are you also able to test the KS8851 driver with PREEMPT_RT enabled and
heavy iperf3 traffic on the SPI variant ? Does that trigger any issues ?
I ran 'iperf3 -s' on the KS8851 end and 'iperf3 -c 192.168.1.300 -t 0
--bidir' on the host PC side.

Let me prepare a slightly updated fix and send a V2.