summaryrefslogtreecommitdiffstats
path: root/block/blk-flush.c
diff options
context:
space:
mode:
authorGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>2016-04-13 11:08:20 -0300
committerJens Axboe <axboe@fb.com>2016-04-13 08:15:39 -0600
commitc875a7093f0479215cf9bf51356d7638f2ec5746 (patch)
tree84228b9202eec5565ff444006f895004224b0a00 /block/blk-flush.c
parent7e19793096994d43d213f440f4bbea926828a727 (diff)
downloadlinux-0-day-c875a7093f0479215cf9bf51356d7638f2ec5746.tar.gz
linux-0-day-c875a7093f0479215cf9bf51356d7638f2ec5746.tar.xz
nvme: Avoid reset work on watchdog timer function during error recovery
This patch adds a check on nvme_watchdog_timer() function to avoid the call to reset_work() when an error recovery process is ongoing on controller. The check is made by looking at pci_channel_offline() result. If we don't check for this on nvme_watchdog_timer(), error recovery mechanism can't recover well, because reset_work() won't be able to do its job (since we're in the middle of an error) and so the controller is removed from the system before error recovery mechanism can perform slot reset (which would allow the adapter to recover). In this patch we also have split the huge condition expression on nvme_watchdog_timer() by introducing an auxiliary function to help make the code more readable. Reviewed-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-flush.c')
0 files changed, 0 insertions, 0 deletions