[SCSI] ipr: Fix target id allocation re-use problem
authorBrian King <brking@linux.vnet.ibm.com>
Thu, 15 Mar 2012 02:20:06 +0000 (21:20 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 28 Mar 2012 13:58:11 +0000 (14:58 +0100)
commit0ee1d714c285aabaadf7495bf5820114ad0959b1
treea5213395c887cb568943987c9b4aca1c18b8614f
parent7d7311c44567cd2001ca318e4de64b753d9d35f8
[SCSI] ipr: Fix target id allocation re-use problem

For the latest ipr SAS adapters, target id's are a completely
logical construct that are managed in the ipr driver. This fixes
an issue that can arise if a device is deleted via sysfs. If
a new device is then physically added, it will use the previous
device's target id. If the host is then rescanned, the device
that had been deleted, since it is using the same target id as
the new device is using, will never be found, resulting in
a missing device. Fix this by only freeing the target id
only if the resource is actually gone.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/ipr.c