Re: [PATCH net-next v12 11/15] ax88179_178a: Add Suspend/resume support for AX88179A/772D/279
From: Birger Koblitz
Date: Sun Sep 27 2026 - 05:37:03 EST
On 17/09/2026 11:25 pm, netdev-bot+sashiko@xxxxxxxxxx wrote:
Thank you for your contribution! Sashiko AI review found 9 potentialFixed by moving usbnet_suspend() before the WoL configuration, and
issue(s) to consider:
Critical: 0 · High: 2 · Medium: 4 · Low: 3
- [High] ax88179a_suspend() (drivers/net/usb/ax88179a_devices.c:170-172)
calls usbnet_suspend(intf, message) but discards its return value and…
unwinding phylink_suspend() if usbnet_suspend has failed.
- [High] ax88179a_resume() (drivers/net/usb/ax88179a_devices.c:210-214)Will fix by using the same strategy as asix_devices.c and holding a
and ax88179a_suspend() (:138-142) call rtnl_lock() from inside the…
runtime-PM active usage ref in ax88179a_bind().
- [Medium] The new WoL programming in ax88179a_suspend()Will fix by clearing the bits before they are conditionally set:
(drivers/net/usb/ax88179a_devices.c:146-152) performs a purely…
tmp &= ~(AX_MONITOR_MODE_RWLC | AX_MONITOR_MODE_RWMP);
When wolopts == 0, the arming bits do not matter, because the PHY is not
put into a monitoring mode, they do not need to be cleared. Note that
the firmware clears these bits after wakeup.
- [Medium] The new PM callbacks consume the results of ax88179_read_cmd()resume callbacks. In resume read status is also explicitly checked. For
without checking the status, and for one-byte reads the destination is…Will fix by initializing tmp8 before the reads in both the suspend and
suspend it is not clear whether to abort suspend just because the WoL
programming does not work justifies aborting suspend. Since tmp8 is
initialized, no garbage from the stack is written.
- [Medium] ax88179a_stop() (drivers/net/usb/ax88179a_devices.c:1163-1165)Duplicate of a previous bug, fixed by correcting to ax88179_read_cmd()
sets 'reg8 = 0;' and then calls ax88179_read_cmd(dev,…
- [Medium] The new ax88179a_resume() calls ax88179a_reset()Will fix by conditionally setting AX_RX_CTL_PRO flag of data->rxctl
(drivers/net/usb/ax88179a_devices.c:208), which unconditionally…
in ax88179a_reset().
- [Low] The comment added in ax88179a_reset()Will fix typo in comment: ax88179_reset() -> ax88179a_reset()
(drivers/net/usb/ax88179a_devices.c:1140-1142) claims that when the…
- [Low] The comment added in ax88179a_resume()Will fix by changing wording of comment.
(drivers/net/usb/ax88179a_devices.c:201-203) says 'PHY-power is re-…
- [Low] The new PM callbacks issue a chain of vendor control transfers
whose results are all discarded and then report success.
Duplicate of above, handled there.