]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/intel/i40e/i40e_xsk.c
net/i40e: Fix concurrency issues between config flow and XSK
[linux.git] / drivers / net / ethernet / intel / i40e / i40e_xsk.c
index d07e1a8904283684f448e4a1346db6cfc6d4d9eb..f73cd917c44f72740c3339bd042d3c6e2f70ace9 100644 (file)
@@ -787,8 +787,12 @@ int i40e_xsk_wakeup(struct net_device *dev, u32 queue_id, u32 flags)
 {
        struct i40e_netdev_priv *np = netdev_priv(dev);
        struct i40e_vsi *vsi = np->vsi;
+       struct i40e_pf *pf = vsi->back;
        struct i40e_ring *ring;
 
+       if (test_bit(__I40E_CONFIG_BUSY, pf->state))
+               return -ENETDOWN;
+
        if (test_bit(__I40E_VSI_DOWN, vsi->state))
                return -ENETDOWN;