Driver Reliability Issues
via MSDNGuidelines to help you avoid common driver problems involving the following:
Buffered I/O
Addresses in user spaceDirect I/O
Input data and device states
Dispatch routines
Multiprocessor environments
Handling IRPs
I found this when searching for something. But definitely for good programming practises.