Stephen Hemminger wrote:
quoted
- /* Make sure no packets are pending */
- napi_synchronize(&hw->napi);
Down is also used during suspend/resume and changing MTU so this needs
more inspection.
Could it be that the real problem is with the non-SMP case for
napi_synchronize()? The comment in include/linux/netdevice.h claims
that napi_synchronize() "Waits till any outstanding processing
completes..." but the implementation for non-SMP is just a barrier()...
Mike