OSDN Git Service

ice: Increase Rx queue disable timeout
authorPiotr Raczynski <piotr.raczynski@intel.com>
Fri, 26 Oct 2018 18:44:33 +0000 (11:44 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 13 Nov 2018 17:09:26 +0000 (09:09 -0800)
With much traffic coming into the port, Rx queue disable
procedure can take more time until all pending queue
requests on PCIe finish. Reuse ICE_Q_WAIT_MAX_RETRY macro
and increase the delay itself.

Signed-off-by: Piotr Raczynski <piotr.raczynski@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c

index 1efd760..f6e2136 100644 (file)
@@ -174,15 +174,15 @@ static int ice_pf_rxq_wait(struct ice_pf *pf, int pf_q, bool ena)
 {
        int i;
 
-       for (i = 0; i < ICE_Q_WAIT_RETRY_LIMIT; i++) {
+       for (i = 0; i < ICE_Q_WAIT_MAX_RETRY; i++) {
                u32 rx_reg = rd32(&pf->hw, QRX_CTRL(pf_q));
 
                if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M))
                        break;
 
-               usleep_range(10, 20);
+               usleep_range(20, 40);
        }
-       if (i >= ICE_Q_WAIT_RETRY_LIMIT)
+       if (i >= ICE_Q_WAIT_MAX_RETRY)
                return -ETIMEDOUT;
 
        return 0;