Shutdown cleanly when the driver is stopped.

Nothing else should return nil.  As in that is reserved for the stateStop() to signal finish and exit of go routine.  Error should do whatever mitigation it can, and if it can't continue, then it shoudl return stateStop().