* [patch 12/13] pcnet32 79C975 fiber fix
@ 2005-03-15 22:22 akpm
2005-03-16 0:56 ` Don Fry
0 siblings, 1 reply; 4+ messages in thread
From: akpm @ 2005-03-15 22:22 UTC (permalink / raw)
To: davem; +Cc: jgarzik, netdev, akpm, steven.hardy
From: "HARDY, Steven" <steven.hardy@astrium.eads.net>
I have found a bug in the pcnet32 driver (drivers/net/pcnet32.c) affecting
all ethernet cards based on the AMD79C975 chip, using the fiber interface.
It's a one line fix, where some config registers get corrupted during
initialisation (which stops the Fiber interface working with this chip)
This bug was introduced somewhere betweeen 2.4.17 and 2.6.x (noticed whilst
upgrading to 2.6), and it may affect other chips too. I have checked all
versions up to 2.6.11-bk6 and they are all broken.
Signed-off-by: Andrew Morton <akpm@osdl.org>
---
25-akpm/drivers/net/pcnet32.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
diff -puN drivers/net/pcnet32.c~pcnet32-bug-79c975-fiber-fix drivers/net/pcnet32.c
--- 25/drivers/net/pcnet32.c~pcnet32-bug-79c975-fiber-fix Tue Mar 15 14:19:55 2005
+++ 25-akpm/drivers/net/pcnet32.c Tue Mar 15 14:19:55 2005
@@ -1351,7 +1351,8 @@ pcnet32_probe1(unsigned long ioaddr, int
printk(KERN_INFO "%s: registered as %s\n", dev->name, lp->name);
cards_found++;
- a->write_bcr(ioaddr, 2, 0x1002); /* enable LED writes */
+ /* enable LED writes */
+ a->write_bcr(ioaddr, 2, a->read_bcr(ioaddr, 2) | 0x1002);
return 0;
_
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [patch 12/13] pcnet32 79C975 fiber fix
2005-03-15 22:22 [patch 12/13] pcnet32 79C975 fiber fix akpm
@ 2005-03-16 0:56 ` Don Fry
2005-03-16 1:03 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Don Fry @ 2005-03-16 0:56 UTC (permalink / raw)
To: akpm; +Cc: davem, jgarzik, netdev, steven.hardy
I had not seen this problem until now. The patch looks ok and
probably should have been written that way initially. I have been
able to do a quick touch test with a 970A, 971, 972, 973, 975, 976, and
978 (some on ia32 and others on ppc64) without any adverse effects.
The 975 I have is copper not fiber.
Since only bit 12 is needed to enable LED writes, the code could
really be "a->write_bcr(ioaddr, 2, a->read_bcr(ioaddr, 2) | 0x1000);"
During pcnet32_open the ASEL bit is changed anyway.
This change should also be applied to 2.4.30 as well.
On Tue, Mar 15, 2005 at 02:22:48PM -0800, akpm@osdl.org wrote:
>
> From: "HARDY, Steven" <steven.hardy@astrium.eads.net>
>
> I have found a bug in the pcnet32 driver (drivers/net/pcnet32.c) affecting
> all ethernet cards based on the AMD79C975 chip, using the fiber interface.
>
> It's a one line fix, where some config registers get corrupted during
> initialisation (which stops the Fiber interface working with this chip)
>
> This bug was introduced somewhere betweeen 2.4.17 and 2.6.x (noticed whilst
> upgrading to 2.6), and it may affect other chips too. I have checked all
> versions up to 2.6.11-bk6 and they are all broken.
>
> Signed-off-by: Andrew Morton <akpm@osdl.org>
> ---
>
> 25-akpm/drivers/net/pcnet32.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletion(-)
>
> diff -puN drivers/net/pcnet32.c~pcnet32-bug-79c975-fiber-fix drivers/net/pcnet32.c
> --- 25/drivers/net/pcnet32.c~pcnet32-bug-79c975-fiber-fix Tue Mar 15 14:19:55 2005
> +++ 25-akpm/drivers/net/pcnet32.c Tue Mar 15 14:19:55 2005
> @@ -1351,7 +1351,8 @@ pcnet32_probe1(unsigned long ioaddr, int
> printk(KERN_INFO "%s: registered as %s\n", dev->name, lp->name);
> cards_found++;
>
> - a->write_bcr(ioaddr, 2, 0x1002); /* enable LED writes */
> + /* enable LED writes */
> + a->write_bcr(ioaddr, 2, a->read_bcr(ioaddr, 2) | 0x1002);
>
> return 0;
>
> _
>
--
Don Fry
brazilnut@us.ibm.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch 12/13] pcnet32 79C975 fiber fix
2005-03-16 0:56 ` Don Fry
@ 2005-03-16 1:03 ` Andrew Morton
2005-03-22 19:14 ` Jeff Garzik
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2005-03-16 1:03 UTC (permalink / raw)
To: Don Fry; +Cc: davem, jgarzik, netdev, steven.hardy
Don Fry <brazilnut@us.ibm.com> wrote:
>
> I had not seen this problem until now. The patch looks ok and
> probably should have been written that way initially. I have been
> able to do a quick touch test with a 970A, 971, 972, 973, 975, 976, and
> 978 (some on ia32 and others on ppc64) without any adverse effects.
> The 975 I have is copper not fiber.
Great, thanks.
> Since only bit 12 is needed to enable LED writes, the code could
> really be "a->write_bcr(ioaddr, 2, a->read_bcr(ioaddr, 2) | 0x1000);"
> During pcnet32_open the ASEL bit is changed anyway.
OK, could you please prepare a final patch sometime and get it into Jeff?
cc me as well please so I can update the patch I have.
> This change should also be applied to 2.4.30 as well.
And that too, I guess.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch 12/13] pcnet32 79C975 fiber fix
2005-03-16 1:03 ` Andrew Morton
@ 2005-03-22 19:14 ` Jeff Garzik
0 siblings, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2005-03-22 19:14 UTC (permalink / raw)
To: Andrew Morton; +Cc: Don Fry, davem, netdev, steven.hardy
Andrew Morton wrote:
> Don Fry <brazilnut@us.ibm.com> wrote:
>
>>I had not seen this problem until now. The patch looks ok and
>> probably should have been written that way initially. I have been
>> able to do a quick touch test with a 970A, 971, 972, 973, 975, 976, and
>> 978 (some on ia32 and others on ppc64) without any adverse effects.
>> The 975 I have is copper not fiber.
>
>
> Great, thanks.
>
>
>> Since only bit 12 is needed to enable LED writes, the code could
>> really be "a->write_bcr(ioaddr, 2, a->read_bcr(ioaddr, 2) | 0x1000);"
>> During pcnet32_open the ASEL bit is changed anyway.
>
>
> OK, could you please prepare a final patch sometime and get it into Jeff?
> cc me as well please so I can update the patch I have.
Yes, please do Don, if you have the time.
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-03-22 19:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-15 22:22 [patch 12/13] pcnet32 79C975 fiber fix akpm
2005-03-16 0:56 ` Don Fry
2005-03-16 1:03 ` Andrew Morton
2005-03-22 19:14 ` Jeff Garzik
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).