linux/drivers/nvme/host
Guilherme G. Piccoli c875a7093f 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>
2016-04-13 08:15:39 -06:00
..
core.c NVMe: switch to using blk_queue_write_cache() 2016-04-12 16:00:39 -06:00
Kconfig Merge branch 'for-4.6/drivers' of git://git.kernel.dk/linux-block 2016-03-18 17:13:31 -07:00
lightnvm.c nvme: lightnvm: return ppa completion status 2016-03-18 18:10:38 -07:00
Makefile nvme: split pci module out of core module 2016-02-10 14:22:38 -07:00
nvme.h nvme: add helper nvme_setup_cmd() 2016-04-12 13:44:00 -06:00
pci.c nvme: Avoid reset work on watchdog timer function during error recovery 2016-04-13 08:15:39 -06:00
scsi.c nvme: move chardev and sysfs interface to common code 2015-12-01 10:59:40 -07:00