Hamachi 0.10 driver

pmonta@halibut.imedia.com pmonta@halibut.imedia.com
Tue Feb 23 15:09:34 1999


> The correct definitions in enum intr_status_bits should be:
> IntrTxDone=0x100, IntrTxPCIFault=0x200, IntrTxPCIErr=0x400,

Right.  The v0.07 works since there is no explicit test
against IntrTxDone---things just fall through in the interrupt
routine---but the definitions should be corrected.  (It
looks like Eric's v0.10 is the same, though I haven't tested
it as much as v0.07.)

> hmp->tx_full and dev->tbusy will only be cleared if at least 4 descriptors
> are free (TX_RING_SIZE - 4) and both (tx_full and tbusy) are set.
> The Problem is that in hamachi_start_xmit() dev->tbusy will be cleared
> when at least ONE (TX_RING_SIZE - 1) descriptor is free.
> But tx_full is not cleared.

I'm not sure about this one.  tx_full should only be cleared from
interrupt context it seems to me, so the v0.07 code looks correct.
Using TX_RING_SIZE-4 rather than TX_RING_SIZE-1 may be an effort
to cluster the transmits more.  tulip.c seems to use TX_RING_SIZE-2.

Cheers,
Peter Monta   pmonta@imedia.com
Imedia Corp.
 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.