From: Saurav Kashyap Date: Tue, 16 Aug 2011 18:29:25 +0000 (-0700) Subject: [SCSI] qla2xxx: Acquire hardware lock while manipulating dsd list. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7594206493880007fd68a18d6e9f380a1afe20d4;p=linux-beck.git [SCSI] qla2xxx: Acquire hardware lock while manipulating dsd list. The dsd list shouldn't be manipulated without taking the per host hardware lock to prevent multiple callers from trampling upon one another. Signed-off-by: Saurav Kashyap Signed-off-by: Chad Dupuis Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index f57c292845a5..2caab83c4c9f 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -913,7 +913,10 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd) "Abort command mbx success.\n"); wait = 1; } + + spin_lock_irqsave(&ha->hardware_lock, flags); qla2x00_sp_compl(ha, sp); + spin_unlock_irqrestore(&ha->hardware_lock, flags); /* Wait for the command to be returned. */ if (wait) {