Ticket #9192 (closed defect: fixed)
Marvell WLAN BSOD on Windows shutdown
| Reported by: | wmb@… | Owned by: | rchokshi |
|---|---|---|---|
| Priority: | blocker | Milestone: | Future Release |
| Component: | wireless | Version: | not specified |
| Keywords: | Cc: | ||
| Action Needed: | never set | Verified: | no |
| Deployments affected: | Blocked By: | ||
| Blocking: |
Description
Under Windows SP3, if the wireless driver is enabled and associated with an access point, when you shutdown Windows, you usually get a blue screen of death, citing the MV83X8 driver as the source.
Driver version: 8.72.706.716 and .717 behave identically in this respect
Firmware version: the version that was submitted to Microsoft
BIOS version: OFW Q2E27 and Insyde BIOS behave identically in this respect
OS version: Windows XP SP3 (SP2 doesn't exhibit the BSOD, but sometimes hangs during shutdown, possibly related)
Analysis:
The problem happens when NDIS calls back into the driver via the SetInformation miniport handler after the adapter data structure has already been freed via the Shutdown miniport handler. When the data structure is freed, the memory behind it is removed from the page tables, so the later attempts to use that pointer result in unhandleable page faults.
According to my reading of the NDIS miniport API, the adapter structure is supposed to be freed by the Halt miniport handler, not by the Shutdown handler.


