diff -up linux-2.4/drivers/net/e1000/e1000_ethtool.c linux-2.4/drivers/net/e1000.new/e1000_ethtool.c
--- linux-2.4/drivers/net/e1000/e1000_ethtool.c 2004-10-07 09:11:14.000000000 -0700
+++ linux-2.4/drivers/net/e1000.new/e1000_ethtool.c 2004-10-07 09:11:17.000000000 -0700
@@ -249,7 +249,8 @@ e1000_set_pauseparam(struct net_device *
e1000_reset(adapter);
}
else
- return e1000_force_mac_fc(hw);
+ return ((hw->media_type == e1000_media_type_fiber) ?
+ e1000_setup_link(hw) : e1000_force_mac_fc(hw));
return 0;
}