From: Alexander Duyck <alexander.h.du...@intel.com>

We can reorder the busy wait loop at the start of the Flow Director
transmit function to reduce the overall code size while still retaining the
same functionality.  As such I am taking advantage of the opportunity to do
so.

Change-ID: I34c403ca001953c6ac9816e65d5305e73d869026
Signed-off-by: Alexander Duyck <alexander.h.du...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c 
b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index 6287bf6..af36c44 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -122,7 +122,6 @@ static int i40e_program_fdir_filter(struct i40e_fdir_filter 
*fdir_data,
        struct device *dev;
        dma_addr_t dma;
        u32 td_cmd = 0;
-       u16 delay = 0;
        u16 i;
 
        /* find existing FDIR VSI */
@@ -137,15 +136,11 @@ static int i40e_program_fdir_filter(struct 
i40e_fdir_filter *fdir_data,
        dev = tx_ring->dev;
 
        /* we need two descriptors to add/del a filter and we can wait */
-       do {
-               if (I40E_DESC_UNUSED(tx_ring) > 1)
-                       break;
+       for (i = I40E_FD_CLEAN_DELAY; I40E_DESC_UNUSED(tx_ring) < 2; i--) {
+               if (!i)
+                       return -EAGAIN;
                msleep_interruptible(1);
-               delay++;
-       } while (delay < I40E_FD_CLEAN_DELAY);
-
-       if (!(I40E_DESC_UNUSED(tx_ring) > 1))
-               return -EAGAIN;
+       }
 
        dma = dma_map_single(dev, raw_packet,
                             I40E_FDIR_MAX_RAW_PACKET_SIZE, DMA_TO_DEVICE);
-- 
2.7.4

Reply via email to