mirror of
https://github.com/torvalds/linux.git
synced 2026-10-28 17:55:02 +01:00
sparx5_set_rx_mode() runs with netif_addr_lock_bh held and iterates dev->mc via __dev_mc_sync(), which per address calls sparx5_mc_sync() / sparx5_mc_unsync() -> sparx5_mact_learn() / sparx5_mact_forget(). These take sparx5->lock, a mutex, and then poll the MAC access command register with readx_poll_timeout(). A mutex may block, which is not allowed from atomic context. Convert the driver to the new .ndo_set_rx_mode_async callback introduced in commit |
||
|---|---|---|
| .. | ||
| fdma | ||
| lan865x | ||
| lan966x | ||
| sparx5 | ||
| vcap | ||
| enc28j60_hw.h | ||
| enc28j60.c | ||
| encx24j600_hw.h | ||
| encx24j600-regmap.c | ||
| encx24j600.c | ||
| Kconfig | ||
| lan743x_ethtool.c | ||
| lan743x_ethtool.h | ||
| lan743x_main.c | ||
| lan743x_main.h | ||
| lan743x_ptp.c | ||
| lan743x_ptp.h | ||
| Makefile | ||