forked from Minki/linux
i40evf: check rings before freeing resources
If the driver gets unloaded during reset recovery, it's possible that it will attempt to free resources when they're already free. Add a check to make sure that the Tx and Rx rings actually exist before dereferencing them to free resources. Change-ID: I4d2b7e9ede49f634d421a4c5deaa5446bc755eee 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>
This commit is contained in:
parent
b7b713a8ea
commit
fdb47ae87a
@ -2034,6 +2034,9 @@ void i40evf_free_all_tx_resources(struct i40evf_adapter *adapter)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!adapter->tx_rings)
|
||||
return;
|
||||
|
||||
for (i = 0; i < adapter->num_active_queues; i++)
|
||||
if (adapter->tx_rings[i].desc)
|
||||
i40evf_free_tx_resources(&adapter->tx_rings[i]);
|
||||
@ -2102,6 +2105,9 @@ void i40evf_free_all_rx_resources(struct i40evf_adapter *adapter)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!adapter->rx_rings)
|
||||
return;
|
||||
|
||||
for (i = 0; i < adapter->num_active_queues; i++)
|
||||
if (adapter->rx_rings[i].desc)
|
||||
i40evf_free_rx_resources(&adapter->rx_rings[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user