On Fri, 2012-10-05 at 11:28 -0700, Min Zhang wrote: > ifconfig mlx4_en port reported RUNNING even though the link was down. > > mlx4_en_init_netdev didn't initialize the dev operstate properly so > the operstate stayed as default IF_OPER_UNKNOWN, then ifconfig treated > the UNKNOWN as RUNNING state for backward compatiblity per RFC2863. > > The fix calls netif_carrier_off which is supposed to set operstate > after register_netdev. Calling it before register_netdev has no effect > since the dev->state is still NETREG_UNINITIALIZED > > Tested by removing the physical link signal to the mellanox 10G port, > modprobe mlx4_en, then ifconfig up. Verify there is no RUNNING status. [...]
This was supposed to be fixed by: commit 8f4cccbbd92f2ad0ddbbc498ef7cee2a1c3defe9 Author: Ben Hutchings <bhutchi...@solarflare.com> Date: Mon Aug 20 22:16:51 2012 +0100 net: Set device operstate at registration time Does that not work for mlx4_en, for some reason? Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/