The information in this article applies to:
SYMPTOMS
On Windows 98 computers with CardBus controllers, multiple Card Service memory windows may fail to operate correctly. This problem is evident with a single Personal Computer Memory Card International Association (PCMCIA) card requiring multiple windows, as well as multiple cards requiring a single window. CAUSE
Windows 98, unlike Windows 95 OSR2, stops and restarts the CardBus adapter when assigning an additional memory resource. This resource rebalance can happen either with a single driver making multiple calls to RequestWindow or with multiple drivers making a single call. RESOLUTIONThere are two methods to work around this rebalance problem, one method for the single card scenario and one method for the multiple cards scenario. Single Card ScenarioFor a single PCMCIA card that requires multiple memory windows, the driver can call RequestWindow to temporarily allocate a window large enough to contain all the actual memory windows. The driver then releases the large window and calls RequestWindow multiple times for the actual required memory windows. This method works correctly because the first request opens a memory aperture on the CardBus bridge large enough to accommodate the multiple smaller windows. The aperture remains after the first window is released. The subsequent small window requests therefore do not cause Configmg.vxd to rebalance memory resources for the CardBus controller because the aperture on the CardBus bridge is already large enough to accommodate the multiple smaller windows.Multiple Card ScenarioFor multiple cards that each require a single memory window, an .inf file tuple override specifying the card's memory requirements can be used to avoid this problem. The .inf override causes the resource rebalance to occur before the cards' drivers are even loaded. The driver(s) can then make its RequestWindow call successfully because there is no need to further rebalance the CardBus controller.STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. REFERENCESSee the Windows 95/98 DDK for more information on .inf file tuple overrides and PCMCIA, in the section on "Overriding Logical Configurations." Additional query words:
Keywords : kbWinOS98 kbWinOS98bug |
Last Reviewed: October 13, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |