]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: macb: Remove dedicated IRQ handler for WoL
authorKevin Hao <haokexin@gmail.com>
Thu, 2 Apr 2026 13:41:25 +0000 (21:41 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 3 Apr 2026 22:51:05 +0000 (15:51 -0700)
commit6637c03f35fa75447d5c2c31db610929cff05813
treec0d4412bf8cd6373a217b76d0fb1fb9ce51721f4
parent6d55ce805b267400e682aa335787775bf253e5d8
net: macb: Remove dedicated IRQ handler for WoL

In the current implementation, the suspend/resume path frees the
existing IRQ handler and sets up a dedicated WoL IRQ handler, then
restores the original handler upon resume. This approach is not used
by any other Ethernet driver and unnecessarily complicates the
suspend/resume process. After adjusting the IRQ handler in the previous
patches, we can now handle WoL interrupts without introducing any
overhead in the TX/RX hot path. Therefore, the dedicated WoL IRQ
handler is removed.

I have verified WoL functionality on my AMD ZynqMP board using the
following steps:
  root@amd-zynqmp:~# ifconfig end0 192.168.3.3
  root@amd-zynqmp:~# ethtool -s end0 wol a
  root@amd-zynqmp:~# echo mem >/sys/power/state

Signed-off-by: Kevin Hao <haokexin@gmail.com>
Link: https://patch.msgid.link/20260402-macb-irq-v2-4-942d98ab1154@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/cadence/macb_main.c