[ECOS] RE: KS5000 Ethernet Driver Patch

Jay Foster jay@systech.com
Wed May 14 17:34:00 GMT 2003


This is not the bug that I have been dealing with.  I'm seeing occasional
ASSERTions in eth_drv_recv(), that the total_len value is bad.  The length
comes directly from ks5000_ether.c:eth_handle_recv_buffer(), where it uses
tcpIpRxBuffer->length-4 for the length.  I suspect that either tcpIpRxBuffer
points to something bogus, or that the length member is corrupted.  I have
been unable to reproduce the problem recently, and therefore the interest in
your patch (tcpIpRxBuffer comes rxBuffer, which comes from
ks32c5000_eth_get_recv_buffer(), which gets it from *rxReadPointer).  If
rxReadPointer had a stale value (non-volatile), then it might explain my


-----Original Message-----
From: Chris Garry [mailto:cgarry@sweeneydesign.co.uk]
Sent: Wednesday, May 14, 2003 9:43 AM
To: Jay Foster
Cc: ecos-discuss@sources.redhat.com
Subject: Re: KS5000 Ethernet Driver Patch


The symptoms we saw (on the E7T target) were that RedBoot
would only respond to every other ping from the host PC when
built with arm-elf-gcc ver 3.2.1.  This wasn't a problem with
ver 2.95.2 or when optimisation was turned off.

The problem turned out to be the optimisation in ver 3.2.1 of the
compiler was much improved and consequently showed up the
missing 'volatile' from three definitions in the ethernet driver.


----- Original Message ----- 
From: "Jay Foster" <jay@systech.com>
To: <cgarry@sweeneydesign.co.uk>
Cc: <ecos-discuss@sources.redhat.com>
Sent: Wednesday, May 14, 2003 4:20 PM
Subject: KS5000 Ethernet Driver Patch

> Chris,
> On 2003-03-20, you submitted a patch for the KS5000 ethernet driver (file
> ks5000_ether.c).  The Changelog entry only stated:
> Added volatile to *rxReadPointer, *txDonePointer and
> *txWritePointer's definitions.
> I am investigating an ethernet driver bug that may have been fixed by
> changes.  Can you describe the symptoms/bug that these changes fixed?
> Jay Foster
> jay@systech.com

Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

More information about the Ecos-discuss mailing list