[ros-kernel] AMD PCNet driver support broken

Casper Hornstrup chorns at users.sourceforge.net
Sun Feb 15 15:11:03 CET 2004


I finally tracked down the patch that broke it. Can anyone see what the
problem is and maybe provide a fix or may I revert the patch?

Casper

Index: ntoskrnl/mm/npool.c
===================================================================
RCS file: /CVS/ReactOS/reactos/ntoskrnl/mm/npool.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- ntoskrnl/mm/npool.c	30 Dec 2003 18:52:05 -0000	1.80
+++ ntoskrnl/mm/npool.c	7 Feb 2004 16:37:23 -0000	1.81
@@ -1,4 +1,4 @@
-/* $Id: npool.c,v 1.80 2003/12/30 18:52:05 fireball Exp $
+/* $Id: npool.c,v 1.81 2004/02/07 16:37:23 hbirr Exp $
  *
  * COPYRIGHT:    See COPYING in the top level directory
  * PROJECT:      ReactOS kernel
@@ -1170,6 +1170,7 @@
  */
 {
   BLOCK_HDR* current;
+  BOOL UpdatePrevPtr = FALSE;
 
   DPRINT("add_to_free_list (%d)\n", blk->Size);
 
@@ -1183,6 +1184,7 @@
       current->Magic = BLOCK_HDR_USED_MAGIC;
       memset(blk, 0xcc, BLOCK_HDR_SIZE);
       blk = current;
+      UpdatePrevPtr = TRUE;
     }
 
   current = (BLOCK_HDR*)((char*)blk + BLOCK_HDR_SIZE + blk->Size);
@@ -1192,13 +1194,14 @@
       remove_from_free_list(current);
       blk->Size += BLOCK_HDR_SIZE + current->Size;
       memset(current, 0xcc, BLOCK_HDR_SIZE);
+      UpdatePrevPtr = TRUE;
       current = (BLOCK_HDR*)((char*)blk + BLOCK_HDR_SIZE + blk->Size);
-      if ((char*)current < (char*)MiNonPagedPoolStart +
MiNonPagedPoolLength)
-        {
-	  current->previous = blk;
-	}
     }
-
+  if (UpdatePrevPtr &&
+      (char*)current < (char*)MiNonPagedPoolStart + MiNonPagedPoolLength)
+    {
+      current->previous = blk;
+    }
   DPRINT("%d\n", blk->Size);
   blk->Magic = BLOCK_HDR_FREE_MAGIC;
   EiFreeNonPagedPool += blk->Size;

-----Original Message-----
From: ros-kernel-bounces at reactos.com [mailto:ros-kernel-bounces at reactos.com]
On Behalf Of Vizzini
Sent: 10. februar 2004 23:38
To: ReactOS Kernel List
Subject: RE: [ros-kernel] AMD PCNet driver support broken

On Tue, 2004-02-10 at 16:33, Casper Hornstrup wrote:
> The OEM driver.

I looked at the error text you posted, and the only thing I can think of
that would be a relevant change would be Hartmut's recent non-paged pool
modifications.  Perhaps try with those reverted?

 -Vizzini


> -----Original Message-----
> From: ros-kernel-bounces at reactos.com
[mailto:ros-kernel-bounces at reactos.com]
> On Behalf Of Vizzini
> Sent: 10. februar 2004 22:38
> To: ReactOS Kernel List
> Subject: Re: [ros-kernel] AMD PCNet driver support broken
> 
> On Tue, 2004-02-10 at 15:27, Casper Hornstrup wrote:
> > Using todays CVS, when using the AMD PCNet driver, ReactOS crashes on
> > boot up:
> 
> Is that the OEM driver or the partially-completed one in our cvs?
> 
>  -Vizzini
> 
> 
> _______________________________________________
> Ros-kernel mailing list
> Ros-kernel at reactos.com
> http://reactos.com/mailman/listinfo/ros-kernel
> 
> _______________________________________________
> Ros-kernel mailing list
> Ros-kernel at reactos.com
> http://reactos.com/mailman/listinfo/ros-kernel
> 

_______________________________________________
Ros-kernel mailing list
Ros-kernel at reactos.com
http://reactos.com/mailman/listinfo/ros-kernel



More information about the Ros-kernel mailing list