From what I can tell, a "bad pool caller" error is usually caused a driver is trying to create a zero-bit pool, and the OS won't let it, or something like that. In other words it's probably a driver issue. If you have any idea exactly what Windows is trying to do when the error happens then that might give you a clue to which driver is misbehaving. Or if you don't have any idea then it might be a good place to start by simply making sure you have the most current and most stable versions of drivers for your hardware.