On Thu, 2012-08-16 at 20:28 +0000, Jiang Wang wrote:
Also, I have another comment related to link state.
Right now, the bnx2 driver powers up the device in bnx2_init_board(),
regardless the netif_carrier is on or off.
We actually don't power up the device. bnx2_init_board() just probes
the device. If link is already up, it will stay up. If it is down, it
will stay down.
This may introduce following inconsistent behaviors:
1) suppose the cable is plugged in to the NIC and the other end is
connected to a switch
2) user powers up the box
The link may already be up before or when you power up the box because
of management firmware (iLO, etc) or WoL.
3) the Linux does not bring up the interface; i.e, ifconfig ethx shows
it is down
4) ethtool ethx will show no link
5) if the user goes to check the light on the physical NIC, he will
see the green link light is ON. That means the link is up, right?
I think it is better to power down the device until bnx2_open is
called. In this way, ethtool report and the physical link light will
be consistent.
We cannot power it down. If link is up, it is up for a reason (e.g. it
is an iLO port, etc).
Thanks.