aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/efx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.c')
-rw-r--r--drivers/net/ethernet/sfc/efx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index ac571cf14485..c7004dcb5838 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -585,7 +585,12 @@ static int efx_probe_channels(struct efx_nic *efx)
585 /* Restart special buffer allocation */ 585 /* Restart special buffer allocation */
586 efx->next_buffer_table = 0; 586 efx->next_buffer_table = 0;
587 587
588 efx_for_each_channel(channel, efx) { 588 /* Probe channels in reverse, so that any 'extra' channels
589 * use the start of the buffer table. This allows the traffic
590 * channels to be resized without moving them or wasting the
591 * entries before them.
592 */
593 efx_for_each_channel_rev(channel, efx) {
589 rc = efx_probe_channel(channel); 594 rc = efx_probe_channel(channel);
590 if (rc) { 595 if (rc) {
591 netif_err(efx, probe, efx->net_dev, 596 netif_err(efx, probe, efx->net_dev,