RadarSync Ensures you have the latest drivers and software updates to make your PC run better and safer.
Partition Commander Now it's easy for anyone to safely partition their hard drive! You can reclaim waste disk space, organize files, even add new OSes.
Fix-It Utilities Make your PC run like new! Includes Anti-Virus, Anti-Spyware, hardware diagnostics, registry fixer, and more!
The DMA Subsystem has detected an illegal...
STOP: 0x000000E6
Description
A device driver has a bug. This issue will only appear if the Driver Verifier is on (a tool nomrally used by programmers and IT staff during debugging).
Some versions of Windows may show the description as "DRIVER_VERIFIER_DMA_VIOLATION".
This is a fatal Windows error, typically called a Stop message, Bug Check, or more commonly the Blue Screen of Death (BSoD). The system is in a forced reboot state. Any unsaved work is likely lost.
Sample Screen
A problem has been detected and Windows has been shut down to prevent damage to your computer.
The DMA Subsystem has detected an illegal DMA operation initiated by a driver being verified. The faulty driver must be replaced with a working version.
If this is the first time you've seen this Stop error screen, restart your computer. If this screen appears again, follow these steps:
Check to make sure any new hardware or software is properly installed. If this is a new installation, ask your hardware or software manufacturer for any Windows updates you might need.
If problems continue, disable or remove any newly installed hardware or software. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.
Technical Information:
*** STOP: 0x000000E6
Beginning dump of physical memory
Physical memory dump complete.
Contact your system administrator or technical support group for further
assistance.
Text may appear differently depending on where the error occurs.
Additional technical information (hex values) specific to a machine are not shown.
Key Facts
Full Title
The DMA Subsystem has detected an illegal DMA operation initiated by a driver being verified. The faulty driver must be replaced with a working version.
Check if you are using the latest hardware drivers, especially the chipset and video drivers. Older drivers are a common contributor to BSoD issues.
You can use a product like Driver Genius or Radar Sync to verify you have the latest drivers and help keep all your drivers up-to-date. If you're comfortable with driver installations, you can individually find and install current drivers.
Install the latest Windows software updates. Don't forget to check for non-critical updates too!
To manually get updates, open Internet Explorer (you can't use a non-Microsoft browser for updates).
For IE 8 and later: Click on Safety, then Windows Update. Follow the instructions.
For IE 7 and older: Click on Tools, then Windows Update. Follow the instructions.
FaultWire Staff Posted: 5-Oct-2008
Uninstall the Last Install
6
If you can get the system up for more than a few minutes or can use safe mode, try removing the last installed software application or driver.
For removal of an application (Windows 7 & Vista):
Click on Start, Control Panel, then Programs and Features.
Select the software to uninstall and select Uninstall.
For removal of an application (Windows XP):
Click on Start, Control Panel, then Add or Remove Programs.
Select the software to uninstall and select Remove.
To disable a driver:
Bring up the system information dialog:
On the keyboard, press the Windows key + Pause/Break.
or
Select Start, right click Computer and on the drop-down, select Properties.
Click on the left side option Advanced system settings(7/Vista only).
In System Properties, select the Hardware tab, then click on Device Manager button.
Find the hardware/driver of interest (you may need to expand a choice at the "plus" graphic) and double click the choice.
Select the Driver tab. Here you can perform a number of actions such as update the driver, roll Back the driver to an older version, disable or uninstall the driver.
Click OK to exit, then close the Device Manager and other previously opened dialogs.
This covers all Driver Verifier DMA Verification violations when the Driver Verifier is run.
After the Stop code will be a hex values: {Parameter 1}.
Parameter 1 specifies the cause of the issue.
0x00000000
This code can represent two kinds of errors:
1. The driver tried to flush too many bytes to the end of the map register file. The number of bytes permitted and the number of bytes attempted are displayed.
2. Windows has run out of contiguous map registers. The number of map registers needed and the largest block of contiguous map registers is displayed.
0x00000001
The performance counter has decreased. The old and new values of the counter are displayed.
0x00000002
The performance counter has increased too fast. The counter value is displayed in the debugger.
0x00000003
The driver freed too many DMA common buffers. Usually this means it freed the same buffer two times.
0x00000004
The driver freed too many DMA adapter channels. Usually this means it freed the same adapter channel two times.
0x00000005
The driver freed too many DMA map registers. Usually this means it freed the same map register two times. The number of active map registers is displayed.
0x00000006
The driver freed too many DMA scatter/gather lists. Usually this means it freed the same scatter/gather list two times. The number of lists allocated and the number of lists freed is displayed.
0x00000007
The driver tried to release the adapter without first freeing all its common buffers. The adapter address and the number of remaining buffers is displayed.
0x00000008
The driver tried to release the adapter without first freeing all adapter channels, common buffers, or scatter/gather lists. The adapter address and the number of remaining items is displayed.
0x00000009
The driver tried to release the adapter without first freeing all map registers. The adapter address and the number of remaining map registers is displayed.
0x0000000A
The driver tried to release the adapter without first freeing all its scatter/gather lists. The adapter address and the number of remaining scatter/gather lists is displayed.
0x0000000B
HV_TOO_MANY_ADAPTER_CHANNELSThe driver has allocated too many adapter channels at the same time. . (Only one adapter channel is permitted per adapter.)
0x0000000C
The driver tried to allocate too many map registers at the same time. The number requested and the number allowed are displayed.
0x0000000D
The driver did not flush its adapter buffers. The number of bytes that the driver tried to map and the maximum number of bytes allowed are displayed.
0x0000000E
The driver tried a DMA transfer without locking the buffer. The buffer in question was in paged memory. The address of the MDL is displayed.
0x0000000F
The driver or the hardware wrote outside its allocated DMA buffer. The nature of the error (overrun or underrun) is displayed, as well as the relevant addresses.
0x00000010
The driver tried to free its map registers while some were still mapped. The number of map registers still mapped is displayed.
0x00000011
The driver has too many outstanding reference counts for the adapter. The number of reference counts and the adapter address are displayed.
0x00000013
The driver called a DMA routine at an improper IRQL. The required IRQL and the actual IRQL are displayed.
0x00000014
The driver called a DMA routine at an improper IRQL. The required IRQL and the actual IRQL are displayed.
0x00000015
The driver tried to allocate too many map registers. The number requested and the number allowed are displayed.
0x00000016
The driver tried to flush a buffer that is not mapped. The address of the buffer is displayed.
0x00000018
The driver tried a DMA operation by using an adapter that was already released and no longer exists. The adapter address is displayed.
0x00000019
The driver passed a null DMA_ADAPTER value to a HAL routine.
0x0000001B
The driver passed an address and MDL to a HAL routine. However, this address is not within the bounds of this MDL. The address passed and the address of the MDL are displayed.
0x0000001D
The driver tried to map an address range that was already mapped. The address range and the current mapping for that range are displayed.
0x0000001E
The driver called HalGetAdapter. This function is obsolete - you must use IoGetDmaAdapter instead.
0x0000001F
HV_BAD_MDLThe driver referenced an invalid system address - either before the first MDL, or after the end of the first MDL, or by using a transfer length that is longer than the MDL buffer and crosses a page boundary within the MDL. . Either the invalid address and the first MDL address, or the MDL address and the extra transfer length are displayed.
0x00000020
The driver tried to flush a map register that hasn't been mapped. The map register base, flushing address, and MDL are displayed.
0x00000021
The driver tried to map a zero-length buffer for transfer.
While BSoD fatal stop errors are identified by Microsoft Windows, they are often caused by
non-Microsoft applications, drivers and hardware issues.
Research this Issue
Getting search results...
Notes
While we believe this information up to date and accurate, FAQware is not responsible for any inaccuracies. If you find something that is out of date or inaccurate, please let us know at
so we can correct it.