d294fbecbe
The MAC filter set may be called without softc_lock held in the case of SIOCADDMULTI and SIOCDELMULTI ioctls. The ioctl handler checks IFF_DRV_RUNNING flag which implies port started, but it is not guaranteed to remain. softc_lock shared lock can't be held in the case of these ioctls processing, since it results in failure where kernel complains that non-sleepable lock is held in sleeping thread. Both problems are repeatable on LAG with LACP proto bring up. Submitted by: Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru> Sponsored by: Solarflare Communications, Inc. MFC after: 2 weeks |
||
---|---|---|
.. | ||
common | ||
sfxge_dma.c | ||
sfxge_ev.c | ||
sfxge_intr.c | ||
sfxge_mcdi.c | ||
sfxge_port.c | ||
sfxge_rx.c | ||
sfxge_rx.h | ||
sfxge_tx.c | ||
sfxge_tx.h | ||
sfxge.c | ||
sfxge.h |