|
@@ -1737,6 +1737,7 @@ static int do_reset(struct ibmvnic_adapter *adapter,
|
|
struct ibmvnic_rwi *rwi, u32 reset_state)
|
|
struct ibmvnic_rwi *rwi, u32 reset_state)
|
|
{
|
|
{
|
|
u64 old_num_rx_queues, old_num_tx_queues;
|
|
u64 old_num_rx_queues, old_num_tx_queues;
|
|
|
|
+ u64 old_num_rx_slots, old_num_tx_slots;
|
|
struct net_device *netdev = adapter->netdev;
|
|
struct net_device *netdev = adapter->netdev;
|
|
int i, rc;
|
|
int i, rc;
|
|
|
|
|
|
@@ -1748,6 +1749,8 @@ static int do_reset(struct ibmvnic_adapter *adapter,
|
|
|
|
|
|
old_num_rx_queues = adapter->req_rx_queues;
|
|
old_num_rx_queues = adapter->req_rx_queues;
|
|
old_num_tx_queues = adapter->req_tx_queues;
|
|
old_num_tx_queues = adapter->req_tx_queues;
|
|
|
|
+ old_num_rx_slots = adapter->req_rx_add_entries_per_subcrq;
|
|
|
|
+ old_num_tx_slots = adapter->req_tx_entries_per_subcrq;
|
|
|
|
|
|
ibmvnic_cleanup(netdev);
|
|
ibmvnic_cleanup(netdev);
|
|
|
|
|
|
@@ -1810,7 +1813,11 @@ static int do_reset(struct ibmvnic_adapter *adapter,
|
|
if (rc)
|
|
if (rc)
|
|
return rc;
|
|
return rc;
|
|
} else if (adapter->req_rx_queues != old_num_rx_queues ||
|
|
} else if (adapter->req_rx_queues != old_num_rx_queues ||
|
|
- adapter->req_tx_queues != old_num_tx_queues) {
|
|
|
|
|
|
+ adapter->req_tx_queues != old_num_tx_queues ||
|
|
|
|
+ adapter->req_rx_add_entries_per_subcrq !=
|
|
|
|
+ old_num_rx_slots ||
|
|
|
|
+ adapter->req_tx_entries_per_subcrq !=
|
|
|
|
+ old_num_tx_slots) {
|
|
release_rx_pools(adapter);
|
|
release_rx_pools(adapter);
|
|
release_tx_pools(adapter);
|
|
release_tx_pools(adapter);
|
|
release_napi(adapter);
|
|
release_napi(adapter);
|