Add flags to protect parts of timer handler so that timer can be triggered at probe start
Currently it is started only at the end of probe.
Start the timer at probe beginning instead of at the end.
Check flag to see if the deviec is dead to return error in process bio.
Also remove volatile typecast from set_bit/clear_bit macros.
Add (and remove) admin command to timeout slots just like IO commands
Process admin commands in timeout handling. Cleanup error completion as well.
Add check for timeout in admin command completion
Fail all sync CDB command (esp from SGIO) while reset is going on
Initilaize the volatile queue index to 0 at reset, so that the queue is
properly initialized even if the FW is dead.
Cancel the queud up reset work queue from all possible exits, as reset may be triggered in any path.
Restrict the reset code while driver is getting unloaded or the drive is removed.
Also set the removal flag when the remove is called, so things work consistantly.
Chjange the SGL mask to be cleared at each SG preperation.
Cleanup mapped pages after page mapping in sync cdb fails.
Also cleanup mapped pages after completion.
Add more temporary files to gitignore
Protect scheduling of reset wq in timer thread from cancelling it at exit.
Merge branch 'add_admin_timeout'