In the Linux kernel, the following vulnerability has been resolved: net: ks8851: Fix deadlock with the SPI chip variant When SMP is enabled and spinlocks are actually functional then there is a deadlock with the 'statelock' spinlock between ks8851startxmitspi and ks8851irq: watchdog: BUG: soft lockup - CPU#0 stuck for 27s! call trace: queuedspinlockslowpath+0x100/0x284 dorawspinlock+0x34/0x44 ks8851startxmitspi+0x30/0xb8 ks8851startxmit+0x14/0x20 netdevstartxmit+0x40/0x6c devhardstartxmit+0x6c/0xbc schdirectxmit+0xa4/0x22c qdiscrun+0x138/0x3fc qdiscrun+0x24/0x3c nettxaction+0xf8/0x130 handlesoftirqs+0x1ac/0x1f0 _dosoftirq+0x14/0x20 _dosoftirq+0x10/0x1c callonirqstack+0x3c/0x58 dosoftirqownstack+0x1c/0x28 _irqexitrcu+0x54/0x9c irqexitrcu+0x10/0x1c el1interrupt+0x38/0x50 el1h64irqhandler+0x18/0x24 el1h64irq+0x64/0x68 _netifschedule+0x6c/0x80 netiftxwakequeue+0x38/0x48 ks8851irq+0xb8/0x2c8 irqthreadfn+0x2c/0x74 irqthread+0x10c/0x1b0 kthread+0xc8/0xd8 retfromfork+0x10/0x20 This issue has not been identified earlier because tests were done on a device with SMP disabled and so spinlocks were actually NOPs. Now use spin(un)lock_bh for TX queue related locking to avoid execution of softirq work synchronously that would lead to a deadlock.