]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
eth: fbnic: Remove retry support
authorMohsin Bashir <mohsin.bashr@gmail.com>
Thu, 15 Jan 2026 00:33:52 +0000 (16:33 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 21 Jan 2026 02:18:41 +0000 (18:18 -0800)
The driver retries sensor read requests from firmware, but this is
unnecessary. A functioning firmware should respond to each request
within the timeout period. Remove the retry logic and set the timeout
to the sum of all retry timeouts.

Signed-off-by: Mohsin Bashir <mohsin.bashr@gmail.com>
Link: https://patch.msgid.link/20260115003353.4150771-5-mohsin.bashr@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/meta/fbnic/fbnic_mac.c

index fc7abea4ef5bf970d66c3d9b501130ff02986a1e..9d0e4b2cc9ac41e9bda37160cfe5f90cc92eeb6f 100644 (file)
@@ -835,7 +835,7 @@ static int fbnic_mac_get_sensor_asic(struct fbnic_dev *fbd, int id,
                                     long *val)
 {
        struct fbnic_fw_completion *fw_cmpl;
-       int err = 0, retries = 5;
+       int err = 0;
        s32 *sensor;
 
        fw_cmpl = fbnic_fw_alloc_cmpl(FBNIC_TLV_MSG_ID_TSENE_READ_RESP);
@@ -862,24 +862,10 @@ static int fbnic_mac_get_sensor_asic(struct fbnic_dev *fbd, int id,
                goto exit_free;
        }
 
-       /* Allow 2 seconds for reply, resend and try up to 5 times */
-       while (!wait_for_completion_timeout(&fw_cmpl->done, 2 * HZ)) {
-               retries--;
-
-               if (retries == 0) {
-                       dev_err(fbd->dev,
-                               "Timed out waiting for TSENE read\n");
-                       err = -ETIMEDOUT;
-                       goto exit_cleanup;
-               }
-
-               err = fbnic_fw_xmit_tsene_read_msg(fbd, NULL);
-               if (err) {
-                       dev_err(fbd->dev,
-                               "Failed to transmit TSENE read msg, err %d\n",
-                               err);
-                       goto exit_cleanup;
-               }
+       if (!wait_for_completion_timeout(&fw_cmpl->done, 10 * HZ)) {
+               dev_err(fbd->dev, "Timed out waiting for TSENE read\n");
+               err = -ETIMEDOUT;
+               goto exit_cleanup;
        }
 
        /* Handle error returned by firmware */