net: phy: aquantia: wait for FW reset before checking the vendor ID
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 8 Jul 2024 07:50:21 +0000 (09:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Jul 2024 03:57:28 +0000 (04:57 +0100)
Checking the firmware register before it complete the boot process makes
no sense, it will report 0 even if FW is available from internal memory.
Always wait for FW to boot before continuing or we'll unnecessarily try
to load it from nvmem/filesystem and fail.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/aquantia/aquantia_firmware.c

index 0c9640ef153bf9843a8a3ca0347a9d76e56d2d6f..524627a36c6fc2482e60f12ca04198a792c7182a 100644 (file)
@@ -353,6 +353,10 @@ int aqr_firmware_load(struct phy_device *phydev)
 {
        int ret;
 
+       ret = aqr_wait_reset_complete(phydev);
+       if (ret)
+               return ret;
+
        /* Check if the firmware is not already loaded by pooling
         * the current version returned by the PHY. If 0 is returned,
         * no firmware is loaded.