Calling a device driver synchronously does not guarantee that the driver's entry point will run at system task time. If you are defining a Control or Status call for which your driver must do something that is not interrupt safe, you must define the call to be executed immediately.