diff options
author | wpaul <wpaul@FreeBSD.org> | 2003-12-13 09:07:35 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2003-12-13 09:07:35 +0000 |
commit | 34759c3ef901d80fd05da9bece565040eb6437de (patch) | |
tree | fe35e6918639eaa040cfbefbd5fba79e6913aac3 /sys/compat/ndis/subr_ndis.c | |
parent | 2dcb6042e5dca6b4da469eeede1fd8c6153adf22 (diff) | |
download | FreeBSD-src-34759c3ef901d80fd05da9bece565040eb6437de.zip FreeBSD-src-34759c3ef901d80fd05da9bece565040eb6437de.tar.gz |
Correct the implementation of NDIS_BUFFER_TO_SPAN_PAGES().
Diffstat (limited to 'sys/compat/ndis/subr_ndis.c')
-rw-r--r-- | sys/compat/ndis/subr_ndis.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c index c6e9a48..0c78da9 100644 --- a/sys/compat/ndis/subr_ndis.c +++ b/sys/compat/ndis/subr_ndis.c @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); #include <compat/ndis/pe_var.h> #include <compat/ndis/resource_var.h> +#include <compat/ndis/ntoskrnl_var.h> #include <compat/ndis/ndis_var.h> #include <compat/ndis/cfg_var.h> #include <dev/if_ndis/if_ndisvar.h> @@ -1684,7 +1685,9 @@ __stdcall static uint32_t ndis_numpages(buf) ndis_buffer *buf; { - return(howmany(buf->nb_bytecount, PAGE_SIZE)); + if (buf->nb_bytecount == 0) + return(1); + return(SPAN_PAGES(buf->nb_mappedsystemva, buf->nb_bytecount)); } __stdcall static void |