pch_gbe: ethtool cannot change parameters when link is down
authorAnders Larsen <al@alarsen.net>
Sun, 18 Aug 2013 09:54:40 +0000 (11:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Aug 2013 22:05:04 +0000 (15:05 -0700)
commitc196ce05cfdb7b5a8af12a3096fac9e880d59617
treea70f95ec53093a755910716f3626560eea89b331
parent0aa857f83fe2674f973ad89ec7c0202f5c5d9554
pch_gbe: ethtool cannot change parameters when link is down

When attempting to change e.g. the advertising mask when the link is down
ecmd->speed is -1 causing mii_ethtool_sset() to bail out.

This bug bit when connecting to a gigabit switch through a 4-pin (industrial)
cable, since link negotiation would not complete (both endpoints claimed to
be gigabit-capable, but this is not possible with only 4 pins).
Any attempt to fix this by setting autonegation to not offer 1000Mbps
failed as the setting would not be accepted while the link was still down...

Set ecmd->speed to SPEED_1000 to satisfy mii_ethtool_sset()
(the actual value of ecmd->speed doesn't matter as long as it is valid,
since a re-negotation is forced afterwards).

Signed-off-by: Anders Larsen <al@alarsen.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c