This is an AI-generated review of your patch. The human sending this email has considered the AI review valid, or at least plausible.
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html --- net: mana: Don't overwrite port probe error with add_adev result In mana_probe(), if mana_probe_port() fails for any port, the error is stored in 'err' and the loop breaks. However, the subsequent unconditional 'err = add_adev(gd, "eth")' overwrites this error. If add_adev() succeeds, mana_probe() returns success despite ports being left in a partially initialized state (ac->ports[i] == NULL). Only call add_adev() when there is no prior error, so the probe correctly fails and triggers mana_remove() cleanup. > In mana_probe(), if mana_probe_port() fails for any port, the error > is stored in 'err' and the loop breaks. However, the subsequent > unconditional 'err = add_adev(gd, "eth")' overwrites this error. > If add_adev() succeeds, mana_probe() returns success despite ports > being left in a partially initialized state (ac->ports[i] == NULL). > > Only call add_adev() when there is no prior error, so the probe > correctly fails and triggers mana_remove() cleanup. > > Fixes: ced82fce77e9 ("net: mana: Probe rdma device in mana driver") The existing Fixes: tag points to commit ced82fce77e9 ("net: mana: Probe rdma device in mana driver"), but was the bug actually introduced there? Looking at the commit history, commit a69839d4327d ("net: mana: Add support for auxiliary device") added the unconditional 'err = add_adev(gd);' call that overwrites the error from mana_probe_port(). Commit ced82fce77e9 only modified the add_adev signature from add_adev(gd) to add_adev(gd, "eth") but did not introduce the buggy pattern. Should the Fixes: tag be: Fixes: a69839d4327d ("net: mana: Add support for auxiliary device")

