[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fc21faff0908191532i2de570a1g1a6674bf5fe64a05@mail.gmail.com>
Date: Wed, 19 Aug 2009 15:32:41 -0700
From: Petri Gynther <pgynther@...gle.com>
To: shemminger@...tta.com
Cc: David Miller <davem@...emloft.net>, benh@...nel.crashing.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] ibm_newemac: emac_close() needs to call
netif_carrier_off()
Stephen,
I think your suggestion of adding netif_running() check to
bond_check_dev_link() is valid and a good fix to the bonding driver.
We can do this in a separate patch.
However, I think that the change to ibm_newemac: emac_close() is
needed as well. ibm_newemac netdevs should not return
netif_carrier_ok() == TRUE when they have been shut down.
On Wed, Aug 19, 2009 at 2:40 PM, Petri Gynther<pgynther@...gle.com> wrote:
> I agree with David. And, that's why I propose this diff for
> ibm_newemac driver as well.
>
> On Wed, Aug 19, 2009 at 2:34 PM, David Miller<davem@...emloft.net> wrote:
>> From: Stephen Hemminger <shemminger@...tta.com>
>> Date: Wed, 19 Aug 2009 14:11:36 -0700
>>
>>> On Wed, 19 Aug 2009 14:00:00 -0700 (PDT)
>>> Petri Gynther <pgynther@...gle.com> wrote:
>>>
>>>> When ibm_newemac netdev instance is shutdown with "ifconfig down",
>>>> the netdev interface does not go properly down. netif_carrier_ok()
>>>> keeps returning TRUE even after "ifconfig down".
>>>>
>>>> The problem can be seen when ibm_newemac instances are slaves of
>>>> a bonding interface. The bonding interface code uses netif_carrier_ok()
>>>> to determine the link status of its slaves. When ibm_newemac slave is
>>>> shutdown with "ifconfig down", the bonding interface won't detect any
>>>> link status change because netif_carrier_ok() keeps returning TRUE.
>>>
>>> Bonding should be testing for netif_running() && netif_carrier_ok().
>>>
>>> In many devices state of carrier is undefined when device is down.
>>
>> But if you check all of the drivers, ethernet in particular, the
>> convention is to call netif_carrier_off() in foo_close().
>>
>
--
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