Kernel - Added 'Flags' param to VFS Read/Write/FindDir
[tpg/acess2.git] / KernelLand / Modules / Network / E1000 / e1000.c
index 66c1c86..bc60593 100644 (file)
@@ -118,8 +118,11 @@ void E1000_int_ReleaseRXD(void *Arg, size_t HeadLen, size_t FootLen, const void
 {
        tCard   **cardptr = Arg;
        tCard   *Card = *cardptr;
-        int    rxd = (Arg - (void*)Card->RXDescs) / sizeof(tRXDesc);
-       
+        int    rxd = (Arg - (void*)Card->RXBackHandles) / sizeof(void*);
+
+       LOG("RXD %p %i being released", Card, rxd);
+       ASSERT(rxd >= 0 && rxd < NUM_RX_DESC);
+
        Card->RXDescs[rxd].Status = 0;
        Mutex_Acquire(&Card->lRXDescs);
        if( rxd == REG32(Card, REG_RDT) ) {
@@ -383,7 +386,7 @@ int DrvUtil_AllocBuffers(void **Buffers, int NumBufs, int PhysBits, size_t BufSi
                size_t  ofs = 0;
                const int       bufs_per_page = PAGE_SIZE / BufSize;
                ASSERT(bufs_per_page * BufSize == PAGE_SIZE);
-               void    *page;
+               void    *page = NULL;
                for( int i = 0; i < NumBufs; i ++ )
                {
                        if( ofs == 0 ) {

UCC git Repository :: git.ucc.asn.au