diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-12-09 15:50:30 -0800 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2016-02-03 20:37:06 -0800 |
commit | 10311540fab76c7e5530bf5f0267a3d1b8d5818e (patch) | |
tree | b23ff2951a86f55efa9360b9fb70efffd1698573 /drivers | |
parent | 406e734aa893fa5841e67de6d4f688ba70a82e4f (diff) | |
download | linux-stable-10311540fab76c7e5530bf5f0267a3d1b8d5818e.tar.gz linux-stable-10311540fab76c7e5530bf5f0267a3d1b8d5818e.tar.bz2 linux-stable-10311540fab76c7e5530bf5f0267a3d1b8d5818e.zip |
i40evf: null out ring pointers on free
Since we check these ring pointers to make sure we don't double-allocate
or double-free the rings, we had better null them out after we free
them. In very rare cases this can cause a panic if the driver is removed
during reset recovery.
Change-ID: Ib06eb4910a3058275c8f7ec5ef7f45baa4674f96
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index d1c4335114fc..81d958422ccf 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -1122,7 +1122,9 @@ static void i40evf_free_queues(struct i40evf_adapter *adapter) if (!adapter->vsi_res) return; kfree(adapter->tx_rings); + adapter->tx_rings = NULL; kfree(adapter->rx_rings); + adapter->rx_rings = NULL; } /** |