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 8726269188f330f99f4dac211389d2eddf3f530b..90b435cd77ecef7d59ea8d7b715e6e75159f14f1 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);