From b2490d5d641e323a1ad1f319d28bd40ede0b4a90 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 20 Mar 2009 01:07:09 +0000 Subject: [PATCH] - DmaSize is NDIS_DMA_SIZE not BOOLEAN - DmaWidth and DmaSpeed aren't used for bus-master DMA svn path=/trunk/; revision=40110 --- reactos/drivers/network/ndis/ndis/io.c | 40 +++++++------------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/reactos/drivers/network/ndis/ndis/io.c b/reactos/drivers/network/ndis/ndis/io.c index 29000d9e397..626eac540b6 100644 --- a/reactos/drivers/network/ndis/ndis/io.c +++ b/reactos/drivers/network/ndis/ndis/io.c @@ -238,11 +238,11 @@ IO_ALLOCATION_ACTION NTAPI NdisMapRegisterCallback ( NDIS_STATUS EXPORT NdisMAllocateMapRegisters( - IN NDIS_HANDLE MiniportAdapterHandle, - IN UINT DmaChannel, - IN BOOLEAN DmaSize, - IN ULONG BaseMapRegistersNeeded, - IN ULONG MaximumBufferSize) + IN NDIS_HANDLE MiniportAdapterHandle, + IN UINT DmaChannel, + IN NDIS_DMA_SIZE DmaSize, + IN ULONG BaseMapRegistersNeeded, + IN ULONG MaximumBufferSize) /* * FUNCTION: Allocate map registers for use in DMA transfers * ARGUMENTS: @@ -293,9 +293,8 @@ NdisMAllocateMapRegisters( ASSERT(Adapter); /* only bus masters may call this routine */ - ASSERT(Adapter->NdisMiniportBlock.Flags & NDIS_ATTRIBUTE_BUS_MASTER); if(!(Adapter->NdisMiniportBlock.Flags & NDIS_ATTRIBUTE_BUS_MASTER)) - return NDIS_STATUS_SUCCESS; + return NDIS_STATUS_NOT_SUPPORTED; DeviceObject = Adapter->NdisMiniportBlock.DeviceObject; @@ -319,34 +318,15 @@ NdisMAllocateMapRegisters( Description.Version = DEVICE_DESCRIPTION_VERSION; Description.Master = TRUE; /* implied by calling this function */ Description.ScatterGather = TRUE; /* XXX UNTRUE: All BM DMA are S/G (ms seems to do this) */ - Description.Dma32BitAddresses = DmaSize; Description.BusNumber = Adapter->NdisMiniportBlock.BusNumber; Description.InterfaceType = Adapter->NdisMiniportBlock.BusType; Description.DmaChannel = DmaChannel; Description.MaximumLength = MaximumBufferSize; - - if(Adapter->NdisMiniportBlock.AdapterType == Isa) - { - /* system dma */ - if(DmaChannel < 4) - Description.DmaWidth = Width8Bits; - else - Description.DmaWidth = Width16Bits; - - Description.DmaSpeed = Compatible; - } - else if(Adapter->NdisMiniportBlock.AdapterType == PCIBus) - { - if(DmaSize == NDIS_DMA_64BITS) - Description.Dma64BitAddresses = TRUE; - else - Description.Dma32BitAddresses = TRUE; - } + + if(DmaSize == NDIS_DMA_64BITS) + Description.Dma64BitAddresses = TRUE; else - { - NDIS_DbgPrint(MIN_TRACE, ("Unsupported bus type\n")); - ASSERT(0); - } + Description.Dma32BitAddresses = TRUE; AdapterObject = IoGetDmaAdapter( Adapter->NdisMiniportBlock.PhysicalDeviceObject, &Description, &AvailableMapRegisters);