From owner-freebsd-current Tue Sep 24 23:43:17 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id XAA00839 for current-outgoing; Tue, 24 Sep 1996 23:43:17 -0700 (PDT) Received: from walkabout.asstdc.com.au (imb@walkabout.asstdc.com.au [202.12.127.73]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id XAA29968 for ; Tue, 24 Sep 1996 23:42:20 -0700 (PDT) Received: (from imb@localhost) by walkabout.asstdc.com.au (8.7.6/BSD4.4) id QAA01206 for current@freebsd.org; Wed, 25 Sep 1996 16:42:05 +1000 (EST) From: michael butler Message-Id: <199609250642.QAA01206@walkabout.asstdc.com.au> Subject: 3c589b + ep driver To: current@freebsd.org Date: Wed, 25 Sep 1996 16:42:05 +1000 (EST) X-Comment: Phone 0419-240-180, International +61-419-240-180 X-Comment: finger imb@asstdc.com.au for PGP public key X-Mailer: ELM [version 2.4ME+ PL22 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk The following patch seems to work for me .. I'd appreciate comments from others whether it helps or not. Note that I am not in favour of adding more loops which cannot be guaranteed to terminate so this patch is experimental only, michael *** if_ep.c~ Mon Sep 23 13:40:33 1996 --- if_ep.c Wed Sep 25 05:06:32 1996 *************** *** 1288,1293 **** --- 1288,1294 ---- return; } all_pkt: + while (inw(BASE + EP_STATUS) & S_COMMAND_IN_PROGRESS); outw(BASE + EP_COMMAND, RX_DISCARD_TOP_PACK); /* * recompute average packet's length, the factor used is 1/8 to go down