From 776e9297216e0ab571c17d159c57c861bccb5594 Mon Sep 17 00:00:00 2001 From: Jeff Skirvin Date: Mon, 12 Mar 2012 17:29:51 -0700 Subject: [PATCH] --- yaml --- r: 302583 b: refs/heads/master c: 3ef768c6c0caa83b9fe66f19a18898ed0315ac36 h: refs/heads/master i: 302581: f44ad8a79b26139a351fa29dc89c9e8a63c0447e 302579: 72aca41b3d9422e44edb7b9c02ef1bfc5074ef7d 302575: 51d8bc39000b383d7820b4fe44c58a3ad49a8b18 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/isci/remote_device.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 0ccfbbb49b6f..bcb730fd44a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f8381807ebdfffa34c2c5aa38eda33673d1a7adf +refs/heads/master: 3ef768c6c0caa83b9fe66f19a18898ed0315ac36 diff --git a/trunk/drivers/scsi/isci/remote_device.c b/trunk/drivers/scsi/isci/remote_device.c index 48765aa84328..a3a6487264ea 100644 --- a/trunk/drivers/scsi/isci/remote_device.c +++ b/trunk/drivers/scsi/isci/remote_device.c @@ -243,8 +243,11 @@ enum sci_status isci_remote_device_terminate_requests( idev->rnc.destination_state, ireq, ireq->flags); } + spin_lock_irqsave(&ihost->scic_lock, flags); clear_bit(IREQ_NO_AUTO_FREE_TAG, &ireq->flags); - isci_free_tag(ihost, ireq->io_tag); + if (!test_bit(IREQ_ABORT_PATH_ACTIVE, &ireq->flags)) + isci_free_tag(ihost, ireq->io_tag); + spin_unlock_irqrestore(&ihost->scic_lock, flags); } else { /* Terminate all TCs. */ sci_remote_device_terminate_requests(idev);