Re: [PATCH] mlx4: set carrier off after register netdev
flat view
From: Min Zhang <hidden>
Date: 2012-10-06 00:03:24
Also in:
lkml
On Fri, 5 Oct 2012, Ben Hutchings wrote:
On Fri, 2012-10-05 at 11:28 -0700, Min Zhang wrote:quoted
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 [off-list ref] 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.
Indeed, commit 8f4cccbbd92f2ad0ddbbc498ef7cee2a1c3defe9 does fix the issue in mlx4. I didn't have the newest net/core. Therefore ignore my mlx4 fix.