diff options
Diffstat (limited to 'drivers/scsi/mpt2sas')
| -rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_scsih.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c index 06117207f60..8e2e9973df2 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c @@ -6749,6 +6749,7 @@ _scsih_mark_responding_raid_device(struct MPT2SAS_ADAPTER *ioc, u64 wwid,  			} else  				sas_target_priv_data = NULL;  			raid_device->responding = 1; +			spin_unlock_irqrestore(&ioc->raid_device_lock, flags);  			starget_printk(KERN_INFO, raid_device->starget,  			    "handle(0x%04x), wwid(0x%016llx)\n", handle,  			    (unsigned long long)raid_device->wwid); @@ -6759,16 +6760,16 @@ _scsih_mark_responding_raid_device(struct MPT2SAS_ADAPTER *ioc, u64 wwid,  			 */  			_scsih_init_warpdrive_properties(ioc, raid_device);  			if (raid_device->handle == handle) -				goto out; +				return;  			printk(KERN_INFO "\thandle changed from(0x%04x)!!!\n",  			    raid_device->handle);  			raid_device->handle = handle;  			if (sas_target_priv_data)  				sas_target_priv_data->handle = handle; -			goto out; +			return;  		}  	} - out: +  	spin_unlock_irqrestore(&ioc->raid_device_lock, flags);  }  |