Re: [net,PATCH] net: ks8851: Reinstate disabling of BHs around IRQ handler
From: Nicolai Buchwitz
Date: Wed Apr 08 2026 - 15:31:04 EST
On 8.4.2026 17:41, Marek Vasut wrote:
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@xxxxxxxxxxx> # 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.
Successfully tested with both PREEMPT_RT and non-RT kernels using the iperf3 command above - no issues observed. Both builds included the fix from my previous message.
If there is anything else worth testing on the KS8851 SPI variant, please let me know.
Let me prepare a slightly updated fix and send a V2.
Regards
Nicolai