aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r--drivers/net/e1000/e1000_main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index d59f75b7bf16..f680c87254ba 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3617,6 +3617,13 @@ e1000_set_spd_dplx(struct e1000_adapter *adapter, uint16_t spddplx)
3617{ 3617{
3618 adapter->hw.autoneg = 0; 3618 adapter->hw.autoneg = 0;
3619 3619
3620 /* Fiber NICs only allow 1000 gbps Full duplex */
3621 if((adapter->hw.media_type == e1000_media_type_fiber) &&
3622 spddplx != (SPEED_1000 + DUPLEX_FULL)) {
3623 DPRINTK(PROBE, ERR, "Unsupported Speed/Duplex configuration\n");
3624 return -EINVAL;
3625 }
3626
3620 switch(spddplx) { 3627 switch(spddplx) {
3621 case SPEED_10 + DUPLEX_HALF: 3628 case SPEED_10 + DUPLEX_HALF:
3622 adapter->hw.forced_speed_duplex = e1000_10_half; 3629 adapter->hw.forced_speed_duplex = e1000_10_half;