i40e: Force register writes to mitigate sync issues with iwarp VF driver
authorAvinash Dayanand <avinash.dayanand@intel.com>
Wed, 27 Jul 2016 19:02:36 +0000 (12:02 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 18 Aug 2016 18:43:12 +0000 (11:43 -0700)
This patch is a fix for the bug i.e. unable to create iwarp device
in VF. This is a sync issue and the iwarp device open is called even
before the PCI register writes are done.

Forcing the PCI register writes to happen just before it exits the
function.

Change-ID: I60c6a2c709da89e845f2764cc50ce8b7373c8c44
Signed-off-by: Avinash Dayanand <avinash.dayanand@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_client.c

index 8726269..90b435c 100644 (file)
@@ -793,7 +793,8 @@ static int i40e_client_setup_qvlist(struct i40e_info *ldev,
                        wr32(hw, I40E_PFINT_AEQCTL, reg);
                }
        }
-
+       /* Mitigate sync problems with iwarp VF driver */
+       i40e_flush(hw);
        return 0;
 err:
        kfree(ldev->qvlist_info);