2012-02-08 14:31:53

by Frans Meulenbroeks

[permalink] [raw]
Subject: drivers/net/phy/phy.c issue

Hi

I found an issue with drivers/net/phy/phy.c
As I could not identify a maintainer for this file I decided to mail
it to the above addressees.
Apologies upfront if it is inappropriate.

The issue:

My network interface was configured as 10Mbit, full duplex, autonegotiate off.
If the cable is unplugged after 10 seconds or so the interface drops
to half duplex and the message:
Trying 10/HALF
is printed. This message comes (if I am correct from the function
phy_force_reduction in drivers/net/phy/phy.c

Maybe this is still ok, however if I reconnect my network cable the
interface remains configured as 10 Mbit, half duplex.
I had expected/assumed that it would go back to 10 Mbit, full duplex.

If I try the same with a 1Gbit full duplex link with autonegotiate on,
the link also drops to half duplex whenever the cable is
disconnected. However reconnecting the cable then brings the interface
back to full duplex again.

Not sure what is wrong (if the interface should not be dropped to half
or get back to full) and even less an idea how to fix it,
but wanted to report it anyway, in the hope someone can shed a light
on this and/or fix it.

Best regards, Frans.

PS: I'm not on lkml (way too much mails for me), so please keep me on Cc


2012-02-08 19:32:09

by Guenter Roeck

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

Copying netdev.

On Wed, 2012-02-08 at 09:31 -0500, Frans Meulenbroeks wrote:
> Hi
>
> I found an issue with drivers/net/phy/phy.c
> As I could not identify a maintainer for this file I decided to mail
> it to the above addressees.
> Apologies upfront if it is inappropriate.
>
> The issue:
>
> My network interface was configured as 10Mbit, full duplex, autonegotiate off.
> If the cable is unplugged after 10 seconds or so the interface drops
> to half duplex and the message:
> Trying 10/HALF
> is printed. This message comes (if I am correct from the function
> phy_force_reduction in drivers/net/phy/phy.c
>
> Maybe this is still ok, however if I reconnect my network cable the
> interface remains configured as 10 Mbit, half duplex.
> I had expected/assumed that it would go back to 10 Mbit, full duplex.
>
> If I try the same with a 1Gbit full duplex link with autonegotiate on,
> the link also drops to half duplex whenever the cable is
> disconnected. However reconnecting the cable then brings the interface
> back to full duplex again.
>
> Not sure what is wrong (if the interface should not be dropped to half
> or get back to full) and even less an idea how to fix it,
> but wanted to report it anyway, in the hope someone can shed a light
> on this and/or fix it.
>
What is your kernel version ? No idea if it makes a difference, but I
strongly suspect people will need to know.

Guenter

> Best regards, Frans.
>
> PS: I'm not on lkml (way too much mails for me), so please keep me on Cc

2012-02-08 19:34:57

by Andy Fleming

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue


On Feb 8, 2012, at 8:31 AM, Frans Meulenbroeks wrote:

> Hi
>
> I found an issue with drivers/net/phy/phy.c
> As I could not identify a maintainer for this file I decided to mail
> it to the above addressees.
> Apologies upfront if it is inappropriate.
>
> The issue:
>
> My network interface was configured as 10Mbit, full duplex, autonegotiate off.
> If the cable is unplugged after 10 seconds or so the interface drops
> to half duplex and the message:
> Trying 10/HALF
> is printed. This message comes (if I am correct from the function
> phy_force_reduction in drivers/net/phy/phy.c
>
> Maybe this is still ok, however if I reconnect my network cable the
> interface remains configured as 10 Mbit, half duplex.
> I had expected/assumed that it would go back to 10 Mbit, full duplex.
>
> If I try the same with a 1Gbit full duplex link with autonegotiate on,
> the link also drops to half duplex whenever the cable is
> disconnected. However reconnecting the cable then brings the interface
> back to full duplex again.
>
> Not sure what is wrong (if the interface should not be dropped to half
> or get back to full) and even less an idea how to fix it,
> but wanted to report it anyway, in the hope someone can shed a light
> on this and/or fix it.

What PHY are you using?

2012-02-08 20:00:29

by Frans Meulenbroeks

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

2012/2/8 Guenter Roeck <[email protected]>:
> Copying netdev.
>
> On Wed, 2012-02-08 at 09:31 -0500, Frans Meulenbroeks wrote:
>> Hi
>>
>> I found an issue with drivers/net/phy/phy.c
>> As I could not identify a maintainer for this file I decided to mail
>> it to the above addressees.
>> Apologies upfront if it is inappropriate.
>>
>> The issue:
>>
>> My network interface was configured as 10Mbit, full duplex, autonegotiate off.
>> If the cable is unplugged after 10 seconds or so the interface drops
>> to half duplex and the message:
>> Trying 10/HALF
>> is printed. This message comes (if I am correct from the function
>> phy_force_reduction in drivers/net/phy/phy.c
>>
>> Maybe this is still ok, however if I reconnect my network cable the
>> interface remains configured as 10 Mbit, half duplex.
>> I had expected/assumed that it would go back to 10 Mbit, full duplex.
>>
>> If I try the same with a 1Gbit full duplex link with autonegotiate on,
>> the link also drops to half duplex whenever the cable is
>> disconnected. However reconnecting the cable then brings the interface
>> back to full duplex again.
>>
>> Not sure what is wrong (if the interface should not be dropped to half
>> or get back to full) and even less an idea how to fix it,
>> but wanted to report it anyway, in the hope someone can shed a light
>> on this and/or fix it.
>>
> What is your kernel version ? No idea if it makes a difference, but I
> strongly suspect people will need to know.

Oops, sorry for the incomplete info.
This was detected in 2.6.38, but the current git head of phy.c differs
only on a few places that (at least according to my judgement) are not
related.
Apologies, but I cannot test on a git head kernel.

And wrt the question of Andy in the subsequent reply.

Hw is a Freescale MPC8313. This is a Gianfar. Is that the info you wanted?

BTW what is the desired behaviour? Should I drop to half duplex? Or
should I get back to full if I reconnect.

Best regards, Frans

2012-02-08 21:12:32

by Guenter Roeck

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

Quoting "Frans Meulenbroeks" <[email protected]>:

> 2012/2/8 Guenter Roeck <[email protected]>:
>> Copying netdev.
>>
>> On Wed, 2012-02-08 at 09:31 -0500, Frans Meulenbroeks wrote:
>>> Hi
>>>
>>> I found an issue with drivers/net/phy/phy.c
>>> As I could not identify a maintainer for this file I decided to mail
>>> it to the above addressees.
>>> Apologies upfront if it is inappropriate.
>>>
>>> The issue:
>>>
>>> My network interface was configured as 10Mbit, full duplex,
>>> autonegotiate off.
>>> If the cable is unplugged after 10 seconds or so the interface drops
>>> to half duplex and the message:
>>> Trying 10/HALF
>>> is printed. This message comes (if I am correct from the function
>>> phy_force_reduction in drivers/net/phy/phy.c
>>>
>>> Maybe this is still ok, however if I reconnect my network cable the
>>> interface remains configured as 10 Mbit, half duplex.
>>> I had expected/assumed that it would go back to 10 Mbit, full duplex.
>>>
>>> If I try the same with a 1Gbit full duplex link with autonegotiate on,
>>> the link also drops to half duplex whenever the cable is
>>> disconnected. However reconnecting the cable then brings the interface
>>> back to full duplex again.
>>>
>>> Not sure what is wrong (if the interface should not be dropped to half
>>> or get back to full) and even less an idea how to fix it,
>>> but wanted to report it anyway, in the hope someone can shed a light
>>> on this and/or fix it.
>>>
>> What is your kernel version ? No idea if it makes a difference, but I
>> strongly suspect people will need to know.
>
> Oops, sorry for the incomplete info.
> This was detected in 2.6.38, but the current git head of phy.c differs
> only on a few places that (at least according to my judgement) are not
> related.
> Apologies, but I cannot test on a git head kernel.
>
> And wrt the question of Andy in the subsequent reply.
>
> Hw is a Freescale MPC8313. This is a Gianfar. Is that the info you wanted?
>
This is the MAC. Andy was asking for the PHY chip.

Guenter

> BTW what is the desired behaviour? Should I drop to half duplex? Or
> should I get back to full if I reconnect.
>
> Best regards, Frans
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>
>

2012-02-09 08:12:04

by Frans Meulenbroeks

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

2012/2/8 <[email protected]>:
> Quoting "Frans Meulenbroeks" <[email protected]>:
>

[...]
>> Apologies, but I cannot test on a git head kernel.
>>
>> And wrt the question of Andy in the subsequent reply.
>>
>> Hw is a Freescale MPC8313. This is a Gianfar. Is that the info you wanted?
>>
> This is the MAC. Andy was asking for the PHY chip.
>
Sorry yes.
The mac is a Marvell 88e1111bab
I suspect this to be the same as in the MPC8313RDS reference design as
this design borrows quite some stuff from it.

Frans

2012-02-09 13:08:25

by Guenter Roeck

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

On Thu, Feb 09, 2012 at 03:12:01AM -0500, Frans Meulenbroeks wrote:
> 2012/2/8 <[email protected]>:
> > Quoting "Frans Meulenbroeks" <[email protected]>:
> >
>
> [...]
> >> Apologies, but I cannot test on a git head kernel.
> >>
> >> And wrt the question of Andy in the subsequent reply.
> >>
> >> Hw is a Freescale MPC8313. This is a Gianfar. Is that the info you wanted?
> >>
> > This is the MAC. Andy was asking for the PHY chip.
> >
> Sorry yes.
> The mac is a Marvell 88e1111bab

This time you mean the PHY is Marvell 88e1111bab, not the MAC. Looks like
you are getting confused ;).

Guenter

2012-02-09 14:14:02

by Frans Meulenbroeks

[permalink] [raw]
Subject: Re: drivers/net/phy/phy.c issue

2012/2/9 Guenter Roeck <[email protected]>:
> On Thu, Feb 09, 2012 at 03:12:01AM -0500, Frans Meulenbroeks wrote:
>> 2012/2/8 ?<[email protected]>:
>> > Quoting "Frans Meulenbroeks" <[email protected]>:
>> >
>>
>> [...]
>> >> Apologies, but I cannot test on a git head kernel.
>> >>
>> >> And wrt the question of Andy in the subsequent reply.
>> >>
>> >> Hw is a Freescale MPC8313. This is a Gianfar. Is that the info you wanted?
>> >>
>> > This is the MAC. Andy was asking for the PHY chip.
>> >
>> Sorry yes.
>> The mac is a Marvell 88e1111bab
>
> This time you mean the PHY is Marvell 88e1111bab, not the MAC. Looks like
> you are getting confused ;).
>

Sorry yes,
The MAC is the Gianfar on the 83813, the PHY is the Marvell.
Guess I wasn't quite awake when I wrote my previous email.
Apologies for the confusion.

Frans