]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: fec: remove .ndo_poll_controller to avoid deadlocks
authorWei Fang <wei.fang@nxp.com>
Sat, 11 May 2024 06:20:09 +0000 (14:20 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 14 May 2024 00:44:37 +0000 (17:44 -0700)
commitc2e0c58b25a0a0c37ec643255558c5af4450c9f5
tree7f86c03ed443007969c69f0715b5b863be85ee53
parentad506586cb69292b6ac59ab95468aadd54b19ab7
net: fec: remove .ndo_poll_controller to avoid deadlocks

There is a deadlock issue found in sungem driver, please refer to the
commit ac0a230f719b ("eth: sungem: remove .ndo_poll_controller to avoid
deadlocks"). The root cause of the issue is that netpoll is in atomic
context and disable_irq() is called by .ndo_poll_controller interface
of sungem driver, however, disable_irq() might sleep. After analyzing
the implementation of fec_poll_controller(), the fec driver should have
the same issue. Due to the fec driver uses NAPI for TX completions, the
.ndo_poll_controller is unnecessary to be implemented in the fec driver,
so fec_poll_controller() can be safely removed.

Fixes: 7f5c6addcdc0 ("net/fec: add poll controller function for fec nic")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Link: https://lore.kernel.org/r/20240511062009.652918-1-wei.fang@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/fec_main.c