Re: [PATCH v9 31/38] phy: core: add notifier infrastructure
From: sashiko-bot@kernel.org
Date: 2026-07-02 00:06:53
Also in:
linux-devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] `phy_notify_reset` returns the raw notifier chain status instead of a standard negative error code, violating its documented return values and breaking error checking for callers. -- commit 6d8c66a69f0a84cdc34b5b056c42d3cc35cb771e Author: Sebastian Reichel [off-list ref] phy: core: add notifier infrastructure This commit adds a new PHY notifier API to allow consumer drivers to hook into reset events coming from a PHY device. This helps gracefully handle situations where PHY devices require a reset due to configuration or cable orientation changes.
quoted hunk ↗ jump to hunk
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index 21aaf2f76e53e..533473d975d37 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c@@ -542,6 +542,62 @@ int phy_notify_state(struct phy *phy, union phy_notify state)
[ ... ]
+/**
+ * phy_notify_reset() - notify consumers of a PHY reset event
+ * @phy: the phy that is being reset
+ * @event: the notification event (PRE_RESET or POST_RESET)
+ *
+ * Called by PHY providers to notify consumers that the PHY is about to
+ * be reset or has completed a reset. This allows consumers to quiesce
+ * hardware before the PHY becomes unavailable.
+ *
+ * Returns: %0 if successful or no notifiers registered, a negative error
+ * code if a notifier returns an error (for PRE_RESET only)
+ */
+int phy_notify_reset(struct phy *phy, enum phy_notification event)
+{
+ if (!phy)
+ return 0;
+
+ return blocking_notifier_call_chain(&phy->notifier, event, phy);[Severity: Medium] Does this return the raw notifier chain status (like NOTIFY_OK or NOTIFY_BAD) instead of the documented negative error code? If callers check the return value with `if (ret < 0)`, they will fail to detect errors since NOTIFY_BAD and notifier_from_errno() results are positive integers. Also, checking `if (ret)` might falsely detect an error on success because NOTIFY_OK is 1. Should this use notifier_to_errno() to convert the return value before passing it back to the caller?
+} +EXPORT_SYMBOL_GPL(phy_notify_reset);
-- Sashiko AI review · https://sashiko.dev/#/patchset/20260702-rockchip-usbdp-cleanup-v9-0-e31efbb62d2e@collabora.com?part=31 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy