diff options
| author | James Bottomley <[email protected]> | 2006-09-05 21:26:41 +0000 |
|---|---|---|
| committer | James Bottomley <[email protected]> | 2006-09-07 15:08:43 +0000 |
| commit | 884d25cc4fda20908fd4ef93dbb41d817984b68b (patch) | |
| tree | 99a7a2a02ff76bee9c4a0620e6a90321517bba13 /drivers/scsi/libsas/sas_init.c | |
| parent | [SCSI] lpfc 8.1.10 : Change version number to 8.1.10 (diff) | |
| download | kernel-884d25cc4fda20908fd4ef93dbb41d817984b68b.tar.gz kernel-884d25cc4fda20908fd4ef93dbb41d817984b68b.zip | |
[SCSI] Fix refcount breakage with 'echo "1" > scan' when target already present
Spotted by: Dan Aloni <[email protected]>
The problem is there's inconsistent locking semantic usage of
scsi_alloc_target(). Two callers assume the target comes back with
reference unincremented and the third assumes its incremented. Fix by
always making the reference incremented on return. Also fix path in
target alloc that could consistently increment the parent lock.
Finally document scsi_alloc_target() so its callers know what the
expectations are.
Signed-off-by: James Bottomley <[email protected]>
Diffstat (limited to 'drivers/scsi/libsas/sas_init.c')
0 files changed, 0 insertions, 0 deletions
