Re: forcedeth: cat /sys/class/net/eth0/carrier = Invalid argument

From: David Miller
Date: Mon Mar 22 2010 - 23:51:26 EST


From: "Justin P. mattock" <justinmattock@xxxxxxxxx>
Date: Mon, 22 Mar 2010 10:36:18 -0700

> I've pushed my kernel from the latest HEAD to 2.6.31
> and am still seeing:
> cat /sys/class/net/eth0/carrier
> cat: carrier: Invalid argument
>
> with my other machine using sky2
> the same results is:
> cat /sys/class/net/eth0/carrier
> 0
>
> is there anything on this? before I start
> a bisect.(looking through bugzilla, I couldn't
> see anything related).

A device is not able to indicate carrier accurately when
the device is not currently running.

So you will get an -EINVAL until the device is brought up.

The reason is that most drivers don't even probe the link
or negotiate link speed and flow control until the device
is brought up. Many don't even power up the PHY when the
device is down, in order to save power.

So the behavior you observe is completely expected.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/