[Bug 85706] FreeBSD + i82559= 25% packet loss
Gary Thomas
gary@mlbassoc.com
Fri Mar 14 12:59:00 GMT 2003
Andrew,
This seems very reasonable to me - thanks for taking the time
to figure it out!
Are you going to commit this change?
On Fri, 2003-03-14 at 02:18, bugzilla@redhat.com wrote:
> Please do not reply directly to this email. All additional
> comments should be made in the comments box of this bug report.
>
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=85706
>
>
>
>
>
> ------- Additional Comments From andrew.lunn@ascom.ch 2003-03-14 04:20 -------
> Index: current/ChangeLog
> ===================================================================
> RCS file: /cvs/ecos/ecos-opt/net/net/bsd_tcpip/current/ChangeLog,v
> retrieving revision 1.17
> diff -u -r1.17 ChangeLog
> --- current/ChangeLog 24 Feb 2003 14:29:17 -0000 1.17
> +++ current/ChangeLog 14 Mar 2003 09:12:02 -0000
> @@ -1,3 +1,10 @@
> +2003-03-14 Andrew Lunn <andrew.lunn@ascom.ch>
> +
> + * src/sys/net/if.c (if_attach): Removed printf which causes the
> + ethernet device to become corrupt. At this point the app driver
> + has started but not completed taking over from the redboot
> + driver. It is unsafe for redboot to use the ethernet device.
> +
> 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
>
> * cdl/freebsd_net.cdl: Fix doc link.
> Index: current/src/sys/net/if.c
> ===================================================================
> RCS file: /cvs/ecos/ecos-opt/net/net/bsd_tcpip/current/src/sys/net/if.c,v
> retrieving revision 1.2
> diff -u -r1.2 if.c
> --- current/src/sys/net/if.c 4 Nov 2002 20:23:25 -0000 1.2
> +++ current/src/sys/net/if.c 14 Mar 2003 09:12:02 -0000
> @@ -194,8 +194,6 @@
> }
>
> if (ifp->if_snd.ifq_maxlen == 0) {
> - printf("%s%d XXX: driver didn't set ifq_maxlen\n",
> - ifp->if_name, ifp->if_unit);
> ifp->if_snd.ifq_maxlen = ifqmaxlen;
> }
>
>
> This fixes the problem.
>
> At the point this printf is made, the apps instance of the driver has setup the
> i82559 with its buffers. The redboot i82559 driver no longer has control over
> the device. But, redboot has not been told this yet. The VV call has still to be
> made. Thus this printf invokes the redboot instance of the i82559 driver. It
> uses one of its buffers and so corrupts the apps ring of buffers.
>
> This is a generic problem and not limited to just the i82559. Any ethernet
> device with 'complex' buffer management is likely to be corrupted.
>
>
>
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
--
------------------------------------------------------------
Gary Thomas |
MLB Associates | Consulting for the
+1 (970) 229-1963 | Embedded world
http://www.mlbassoc.com/ |
email: <gary@mlbassoc.com> |
gpg: http://www.chez-thomas.org/gary/gpg_key.asc
------------------------------------------------------------
More information about the Ecos-patches
mailing list