projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7401abf
)
[PATCH] libata: hold host_set lock while finishing internal qc
author
Tejun Heo
<htejun@gmail.com>
Mon, 15 May 2006 11:57:33 +0000
(20:57 +0900)
committer
Tejun Heo
<htejun@gmail.com>
Mon, 15 May 2006 11:57:33 +0000
(20:57 +0900)
Hold host_set lock while finishing internal qc.
Signed-off-by: Tejun Heo <htejun@gmail.com>
drivers/scsi/libata-core.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/libata-core.c
b/drivers/scsi/libata-core.c
index 86cd0e0895d0d372eb1b83c8f923009883e03d5f..13bce43f1915789abc70d32369d7379371a5308f 100644
(file)
--- a/
drivers/scsi/libata-core.c
+++ b/
drivers/scsi/libata-core.c
@@
-1031,6
+1031,9
@@
unsigned ata_exec_internal(struct ata_port *ap, struct ata_device *dev,
spin_unlock_irqrestore(&ap->host_set->lock, flags);
}
+ /* finish up */
+ spin_lock_irqsave(&ap->host_set->lock, flags);
+
*tf = qc->tf;
err_mask = qc->err_mask;
@@
-1052,6
+1055,8
@@
unsigned ata_exec_internal(struct ata_port *ap, struct ata_device *dev,
ata_port_probe(ap);
}
+ spin_unlock_irqrestore(&ap->host_set->lock, flags);
+
return err_mask;
}