On Wed, 27 Nov 2024 12:00:02 -0800 Joe Damato wrote: > CPU 0: > pcnet32_open > lock(lp->lock) > napi_enable > napi_hash_add <- before this executes, CPU 1 proceeds > lock(napi_hash_lock) > CPU 1: > pcnet32_close > napi_disable > napi_hash_del > lock(napi_hash_lock) > < INTERRUPT > How about making napi_hash_lock irq-safe ? It's a control path lock, it should be fine to disable irqs. > pcnet32_interrupt > lock(lp->lock)