[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110617.001035.1602476678651330954.davem@davemloft.net>
Date: Fri, 17 Jun 2011 00:10:35 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: anirban.chakraborty@...gic.com
Cc: netdev@...r.kernel.org, amit.salecha@...gic.com
Subject: Re: [PATCH net-next 5/7] qlcnic: fix default operating state of
interface
From: Anirban Chakraborty <anirban.chakraborty@...gic.com>
Date: Thu, 16 Jun 2011 13:37:36 -0700
> From: Amit Kumar Salecha <amit.salecha@...gic.com>
>
> Currently interface shows status as RUNNING, even if there is no link.
> To fix this, netif_carrier_off should be called after register_netdev().
>
> netif_carrier_off calls linkwatch_fire_event(dev); only if netdev is registered,
> otherwise it skips. linkwatch_fire_event set default state of nic interface.
>
> Signed-off-by: Amit Kumar Salecha <amit.salecha@...gic.com>
> Signed-off-by: Anirban Chakraborty <anirban.chakraborty@...gic.com>
You cannot do this.
The exact second that register_netdev() is called, the device can
be brought up asynchronously and the link brought into the up state.
Your netif_carrier_off() call will race with this.
This is why no other (properly functioning) driver does what you're
trying to do here.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists