igb: set num_rx/tx_queues to 0 when queues are freed

An issue was seen on suspend in which the system reported a page fault.  This
was due to the new reg_idx code being called after the queues were freed.

This update prevents any for loops from going through the queues by setting
the number of queues to 0 when they are freed.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Alexander Duyck 2009-03-31 20:38:19 +00:00 committed by David S. Miller
parent 59c3de8944
commit d1a8c9e1c8
1 changed files with 3 additions and 0 deletions

View File

@ -420,6 +420,9 @@ static void igb_free_queues(struct igb_adapter *adapter)
for (i = 0; i < adapter->num_rx_queues; i++)
netif_napi_del(&adapter->rx_ring[i].napi);
adapter->num_rx_queues = 0;
adapter->num_tx_queues = 0;
kfree(adapter->tx_ring);
kfree(adapter->rx_ring);
}