Author: cgutman Date: Mon Mar 23 02:28:06 2009 New Revision: 40175
URL: http://svn.reactos.org/svn/reactos?rev=40175&view=rev Log: - Query MaxMulticastAddresses from the miniport
Modified: trunk/reactos/drivers/network/ndis/ndis/miniport.c
Modified: trunk/reactos/drivers/network/ndis/ndis/miniport.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/m... ============================================================================== --- trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] (original) +++ trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] Mon Mar 23 02:28:06 2009 @@ -1621,7 +1621,8 @@ NDIS_HANDLE ConfigHandle; ULONG Size; LARGE_INTEGER Timeout; - /* FIXME - KIRQL OldIrql; */ + UINT MaxMulticastAddresses; + ULONG BytesWritten;
/* * Prepare wrapper context used by HW and configuration routines. @@ -1806,7 +1807,17 @@ NdisStatus = DoQueries(Adapter, AddressOID); if (NdisStatus == NDIS_STATUS_SUCCESS) { - Success = EthCreateFilter(32, /* FIXME: Query this from miniport. */ + NdisStatus = MiniQueryInformation(Adapter, OID_802_3_MAXIMUM_LIST_SIZE, sizeof(UINT), + &MaxMulticastAddresses, &BytesWritten); + + if (NdisStatus != NDIS_STATUS_SUCCESS) + { + ExInterlockedRemoveEntryList( &Adapter->ListEntry, &AdapterListLock ); + NDIS_DbgPrint(MAX_TRACE, ("MiniQueryInformation failed (%x)\n", NdisStatus)); + return NdisStatus; + } + + Success = EthCreateFilter(MaxMulticastAddresses, Adapter->Address.Type.Medium802_3, &Adapter->NdisMiniportBlock.EthDB); if (Success)