diff options
-rw-r--r-- | drivers/staging/hv/RndisFilter.c | 10 | ||||
-rw-r--r-- | drivers/staging/hv/include/osd.h | 4 | ||||
-rw-r--r-- | drivers/staging/hv/osd.c | 11 |
3 files changed, 6 insertions, 19 deletions
diff --git a/drivers/staging/hv/RndisFilter.c b/drivers/staging/hv/RndisFilter.c index 98d82f9..362efb0 100644 --- a/drivers/staging/hv/RndisFilter.c +++ b/drivers/staging/hv/RndisFilter.c @@ -22,7 +22,9 @@ */ #include <linux/kernel.h> -#include <linux/mm.h> +#include <linux/highmem.h> +#include <asm/kmap_types.h> + #include "include/logging.h" #include "include/NetVscApi.h" @@ -518,7 +520,7 @@ RndisFilterOnReceive( return -1; } - rndisHeader = (RNDIS_MESSAGE*)PageMapVirtualAddress(Packet->PageBuffers[0].Pfn); + rndisHeader = (RNDIS_MESSAGE *)kmap_atomic(pfn_to_page(Packet->PageBuffers[0].Pfn), KM_IRQ0); rndisHeader = (void*)((unsigned long)rndisHeader + Packet->PageBuffers[0].Offset); @@ -528,7 +530,7 @@ RndisFilterOnReceive( #if 0 if ( Packet->TotalDataBufferLength != rndisHeader->MessageLength ) { - PageUnmapVirtualAddress((void*)(unsigned long)rndisHeader - Packet->PageBuffers[0].Offset); + kunmap_atomic(rndisHeader - Packet->PageBuffers[0].Offset, KM_IRQ0); DPRINT_ERR(NETVSC, "invalid rndis message? (expected %u bytes got %u)...dropping this message!", rndisHeader->MessageLength, Packet->TotalDataBufferLength); @@ -545,7 +547,7 @@ RndisFilterOnReceive( memcpy(&rndisMessage, rndisHeader, (rndisHeader->MessageLength > sizeof(RNDIS_MESSAGE))?sizeof(RNDIS_MESSAGE):rndisHeader->MessageLength); - PageUnmapVirtualAddress((void*)(unsigned long)rndisHeader - Packet->PageBuffers[0].Offset); + kunmap_atomic(rndisHeader - Packet->PageBuffers[0].Offset, KM_IRQ0); DumpRndisMessage(&rndisMessage); diff --git a/drivers/staging/hv/include/osd.h b/drivers/staging/hv/include/osd.h index f8b54114..6eeb87e 100644 --- a/drivers/staging/hv/include/osd.h +++ b/drivers/staging/hv/include/osd.h @@ -138,10 +138,6 @@ unsigned long Logical2PhysicalAddr(void * LogicalAddr); unsigned long Virtual2Physical(void * VirtAddr); -void* PageMapVirtualAddress(unsigned long Pfn); -void PageUnmapVirtualAddress(void* VirtAddr); - - int osd_schedule_callback(struct workqueue_struct *wq, void (*func)(void *), void *data); diff --git a/drivers/staging/hv/osd.c b/drivers/staging/hv/osd.c index f19b9c9..ad883c9 100644 --- a/drivers/staging/hv/osd.c +++ b/drivers/staging/hv/osd.c @@ -88,17 +88,6 @@ void PageFree(void* page, unsigned int count) __free_page(p);*/ } - -void* PageMapVirtualAddress(unsigned long Pfn) -{ - return kmap_atomic(pfn_to_page(Pfn), KM_IRQ0); -} - -void PageUnmapVirtualAddress(void* VirtAddr) -{ - kunmap_atomic(VirtAddr, KM_IRQ0); -} - void *MemMapIO(unsigned long phys, unsigned long size) { return (void*)GetVirtualAddress(phys); /* return ioremap_nocache(phys, size); */ |