[ros-diffs] [cgutman] 40175: - Query MaxMulticastAddresses from the miniport

cgutman at svn.reactos.org cgutman at svn.reactos.org
Mon Mar 23 00:28:07 CET 2009


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/miniport.c?rev=40175&r1=40174&r2=40175&view=diff
==============================================================================
--- 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)



More information about the Ros-diffs mailing list