Subject: Ethernet driver bug?
To: None <firstname.lastname@example.org>
From: Alexander A. V'ushkov <email@example.com>
Date: 09/17/2002 18:28:36
I'm continuing to start ofppc port of NetBSD on MPC8260.
I'm deal with erratic NFS behavior, and as I suppose, there is a bug in =
the implementation of the Ethernet driver (function ether_input, file =
/net/if_ether_subr.c) Sometimes software interrupt, responsible for =
processing IP-queue of IP-stack (ip_intr() function) is called BEFORE =
than packet is really placed into IP-queue ("ipintrq" variable). As a =
result, the packet will be processed only when the next packet arrives.
I suppose that such behavior is tied with the specificity of the call of =
read function of the "ofnet" driver. It is called with assistance of =
callout mechinism. Probably, the current interrupt priority level lets =
software interrupt to occur (unlike calling the read function from =
I've changed the order of actions. At first I've putted packet into =
IP-queue, and then set interrupt request. The error has disappeared.
So, I want to know you opinion about the problem.