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 potential
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…
Fixed by moving usbnet_suspend() before the WoL configuration, and
unwinding phylink_suspend() if usbnet_suspend has failed.

- [High] ax88179a_resume() (drivers/net/usb/ax88179a_devices.c:210-214)
and ax88179a_suspend() (:138-142) call rtnl_lock() from inside the…
Will fix by using the same strategy as asix_devices.c and holding a
runtime-PM active usage ref in ax88179a_bind().

- [Medium] The new WoL programming in ax88179a_suspend()
(drivers/net/usb/ax88179a_devices.c:146-152) performs a purely…
Will fix by clearing the bits before they are conditionally set:
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()
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
resume callbacks. In resume read status is also explicitly checked. For
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)
sets 'reg8 = 0;' and then calls ax88179_read_cmd(dev,…
Duplicate of a previous bug, fixed by correcting to ax88179_read_cmd()

- [Medium] The new ax88179a_resume() calls ax88179a_reset()
(drivers/net/usb/ax88179a_devices.c:208), which unconditionally…
Will fix by conditionally setting AX_RX_CTL_PRO flag of data->rxctl
in ax88179a_reset().

- [Low] The comment added in ax88179a_reset()
(drivers/net/usb/ax88179a_devices.c:1140-1142) claims that when the…
Will fix typo in comment: ax88179_reset() -> ax88179a_reset()

- [Low] The comment added in ax88179a_resume()
(drivers/net/usb/ax88179a_devices.c:201-203) says 'PHY-power is re-…
Will fix by changing wording of comment.

- [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.