aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000/e1000_param.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
index 38695d5b463..ccbbe5ad8e0 100644
--- a/drivers/net/e1000/e1000_param.c
+++ b/drivers/net/e1000/e1000_param.c
@@ -545,7 +545,7 @@ e1000_check_fiber_options(struct e1000_adapter *adapter)
545static void __devinit 545static void __devinit
546e1000_check_copper_options(struct e1000_adapter *adapter) 546e1000_check_copper_options(struct e1000_adapter *adapter)
547{ 547{
548 int speed, dplx; 548 int speed, dplx, an;
549 int bd = adapter->bd_number; 549 int bd = adapter->bd_number;
550 550
551 { /* Speed */ 551 { /* Speed */
@@ -641,8 +641,12 @@ e1000_check_copper_options(struct e1000_adapter *adapter)
641 .p = an_list }} 641 .p = an_list }}
642 }; 642 };
643 643
644 int an = AutoNeg[bd]; 644 if (num_AutoNeg > bd) {
645 e1000_validate_option(&an, &opt, adapter); 645 an = AutoNeg[bd];
646 e1000_validate_option(&an, &opt, adapter);
647 } else {
648 an = opt.def;
649 }
646 adapter->hw.autoneg_advertised = an; 650 adapter->hw.autoneg_advertised = an;
647 } 651 }
648 652