igb: Fix queue allocation method to accommodate changing during runtime
authorCarolyn Wyborny <carolyn.wyborny@intel.com>
Tue, 10 Dec 2013 07:58:29 +0000 (07:58 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 18 Dec 2013 06:43:12 +0000 (22:43 -0800)
commit02ef6e1d0b00233a89d2c8bced880d8ea39603b6
treec11d064ec4a4d7f44b9db3aca92c1ad8834b3f9f
parent22dd81c5c824aeb68250f618e76f8a7b03ba9ce7
igb: Fix queue allocation method to accommodate changing during runtime

When changing number of queues using ethtool's set_channels during runtime,
a queue allocation could fail, which can leave the device in a down state.
In order to preserve the usability of the device in this scenario, this patch
changes the driver to allocate the  number of queues only if they have not
been allocated already. The first allocation is then done for the max number
of queues, which is the default queues for this driver.   With this change,
queue quantity changes are not subject to queue allocation failures.

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c