From 6e2802a7fc246b53f919efbf1c011da2d0a4ff30 Mon Sep 17 00:00:00 2001 From: Jeff Skirvin Date: Tue, 8 Mar 2011 20:32:16 -0700 Subject: isci: All pending requests are terminated before stopping the device. Make sure all pending I/O including any in the libsas error handler process is cleaned-up. Signed-off-by: Jeff Skirvin Signed-off-by: Dan Williams --- drivers/scsi/isci/remote_device.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers') diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c index 1dae218..6fe6815 100644 --- a/drivers/scsi/isci/remote_device.c +++ b/drivers/scsi/isci/remote_device.c @@ -380,6 +380,10 @@ enum sci_status isci_remote_device_stop(struct isci_host *ihost, struct isci_rem "%s: isci_device = %p\n", __func__, idev); isci_remote_device_change_state(idev, isci_stopping); + + /* Kill all outstanding requests. */ + isci_remote_device_nuke_requests(idev); + set_bit(IDEV_STOP_PENDING, &idev->flags); spin_lock_irqsave(&ihost->scic_lock, flags); -- cgit v1.1