]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bnxt_en: Wait longer for the firmware message response to complete.
authorMichael Chan <michael.chan@broadcom.com>
Thu, 21 Feb 2019 00:07:32 +0000 (19:07 -0500)
committerBrian Maly <brian.maly@oracle.com>
Sat, 11 May 2019 03:55:32 +0000 (23:55 -0400)
Orabug: 29412112

The code waits up to 20 usec for the firmware response to complete
once we've seen the valid response header in the buffer.  It turns
out that in some scenarios, this wait time is not long enough.
Extend it to 150 usec and use usleep_range() instead of udelay().

Fixes: 9751e8e71487 ("bnxt_en: reduce timeout on initial HWRM calls")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Reviewed-by: Allen Pais <allen.pais@oracle.com>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h

index 61d0dceff3a938e4e1365417572f0ba47f6b4ab7..d20614e5fbb5e56cc2fdce5aa0fd772666e8f877 100644 (file)
@@ -3487,7 +3487,7 @@ static int bnxt_hwrm_do_send_msg(struct bnxt *bp, void *msg, u32 msg_len,
                for (j = 0; j < HWRM_VALID_BIT_DELAY_USEC; j++) {
                        if (le32_to_cpu(*valid) & HWRM_RESP_VALID_MASK)
                                break;
-                       udelay(1);
+                       usleep_range(1, 5);
                }
 
                if (j >= HWRM_VALID_BIT_DELAY_USEC) {
index 31deb72b295255f93019da33d1c19e807c0b9f05..8c8b15e342029fada8acd4d1847119ba0f5bb01c 100644 (file)
@@ -527,7 +527,7 @@ struct rx_tpa_end_cmp_ext {
        (HWRM_SHORT_TIMEOUT_COUNTER * HWRM_SHORT_MIN_TIMEOUT +          \
         ((n) - HWRM_SHORT_TIMEOUT_COUNTER) * HWRM_MIN_TIMEOUT))
 
-#define HWRM_VALID_BIT_DELAY_USEC      20
+#define HWRM_VALID_BIT_DELAY_USEC      150
 
 #define BNXT_RX_EVENT  1
 #define BNXT_AGG_EVENT 2