* [PATCH] de2104x: fix ethtool
@ 2010-09-27 21:41 Ondrej Zary
2010-09-27 22:05 ` Jeff Garzik
0 siblings, 1 reply; 3+ messages in thread
From: Ondrej Zary @ 2010-09-27 21:41 UTC (permalink / raw)
To: jgarzik; +Cc: netdev, Kernel development list
When the interface is up, using ethtool breaks it because:
a) link is put down but media_timer interval is not shortened to NO_LINK
b) rxtx is stopped but not restarted
Also manual 10baseT-HD (and probably FD too - untested) mode does not work -
the link is forced up, packets are transmitted but nothing is received.
Changing CSR14 value to match documentation (not disabling link check) fixes this.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
--- linux-2.6.36-rc3-/drivers/net/tulip/de2104x.c 2010-09-26 21:58:42.000000000 +0200
+++ linux-2.6.36-rc3/drivers/net/tulip/de2104x.c 2010-09-27 23:36:51.000000000 +0200
@@ -364,9 +364,9 @@ static u16 t21040_csr15[] = { 0, 0, 0x00
/* 21041 transceiver register settings: TP AUTO, BNC, AUI, TP, TP FD*/
static u16 t21041_csr13[] = { 0xEF01, 0xEF09, 0xEF09, 0xEF01, 0xEF09, };
-static u16 t21041_csr14[] = { 0xFFFF, 0xF7FD, 0xF7FD, 0x6F3F, 0x6F3D, };
+static u16 t21041_csr14[] = { 0xFFFF, 0xF7FD, 0xF7FD, 0x7F3F, 0x7F3D, };
/* If on-chip autonegotiation is broken, use half-duplex (FF3F) instead */
-static u16 t21041_csr14_brk[] = { 0xFF3F, 0xF7FD, 0xF7FD, 0x6F3F, 0x6F3D, };
+static u16 t21041_csr14_brk[] = { 0xFF3F, 0xF7FD, 0xF7FD, 0x7F3F, 0x7F3D, };
static u16 t21041_csr15[] = { 0x0008, 0x0006, 0x000E, 0x0008, 0x0008, };
@@ -1596,12 +1596,15 @@ static int __de_set_settings(struct de_p
return 0; /* nothing to change */
de_link_down(de);
+ mod_timer(&de->media_timer, jiffies + DE_TIMER_NO_LINK);
de_stop_rxtx(de);
de->media_type = new_media;
de->media_lock = media_lock;
de->media_advertise = ecmd->advertising;
de_set_media(de);
+ if (netif_running(de->dev))
+ de_start_rxtx(de);
return 0;
}
--
Ondrej Zary
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] de2104x: fix ethtool
2010-09-27 21:41 [PATCH] de2104x: fix ethtool Ondrej Zary
@ 2010-09-27 22:05 ` Jeff Garzik
2010-09-27 22:40 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2010-09-27 22:05 UTC (permalink / raw)
To: Ondrej Zary; +Cc: netdev, Kernel development list
On 09/27/2010 05:41 PM, Ondrej Zary wrote:
> When the interface is up, using ethtool breaks it because:
> a) link is put down but media_timer interval is not shortened to NO_LINK
> b) rxtx is stopped but not restarted
>
> Also manual 10baseT-HD (and probably FD too - untested) mode does not work -
> the link is forced up, packets are transmitted but nothing is received.
> Changing CSR14 value to match documentation (not disabling link check) fixes this.
>
> Signed-off-by: Ondrej Zary<linux@rainbow-software.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Good catch on the missing de_start_rxtx()
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] de2104x: fix ethtool
2010-09-27 22:05 ` Jeff Garzik
@ 2010-09-27 22:40 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2010-09-27 22:40 UTC (permalink / raw)
To: jgarzik; +Cc: linux, netdev, linux-kernel
From: Jeff Garzik <jgarzik@pobox.com>
Date: Mon, 27 Sep 2010 18:05:58 -0400
> On 09/27/2010 05:41 PM, Ondrej Zary wrote:
>> When the interface is up, using ethtool breaks it because:
>> a) link is put down but media_timer interval is not shortened to
>> NO_LINK
>> b) rxtx is stopped but not restarted
>>
>> Also manual 10baseT-HD (and probably FD too - untested) mode does not
>> work -
>> the link is forced up, packets are transmitted but nothing is
>> received.
>> Changing CSR14 value to match documentation (not disabling link check)
>> fixes this.
>>
>> Signed-off-by: Ondrej Zary<linux@rainbow-software.org>
>
> Acked-by: Jeff Garzik <jgarzik@redhat.com>
>
> Good catch on the missing de_start_rxtx()
Applied, thanks everyone.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-27 22:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-27 21:41 [PATCH] de2104x: fix ethtool Ondrej Zary
2010-09-27 22:05 ` Jeff Garzik
2010-09-27 22:40 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).