diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2005-12-13 07:03:30 +0300 |
---|---|---|
committer | Jody McIntyre <scjody@modernduck.com> | 2005-12-13 07:03:30 +0300 |
commit | dc3edd5412341b02d84144ddfd5bf6ccaaeeb1ac (patch) | |
tree | df739298b8c5ea5b3d10b41db3c42c43c77a0786 /drivers/ieee1394/sbp2.c | |
parent | 43863eba763e0c91e33e342ce5b7650fea594a53 (diff) | |
download | linux-dc3edd5412341b02d84144ddfd5bf6ccaaeeb1ac.tar.xz |
sbp2: did not clean up after scsi_add_device() failed
If scsi_add_device() at the end of sbp2_start_device() fails, e.g. due to
transport errors during SCSI inquiry, sbp2 needs to log out of the device
and release all associated resources.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
Diffstat (limited to 'drivers/ieee1394/sbp2.c')
-rw-r--r-- | drivers/ieee1394/sbp2.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c index 372a7726063c..5b9d03e93514 100644 --- a/drivers/ieee1394/sbp2.c +++ b/drivers/ieee1394/sbp2.c @@ -960,6 +960,8 @@ alloc_fail: error = scsi_add_device(scsi_id->scsi_host, 0, scsi_id->ud->id, 0); if (error) { SBP2_ERR("scsi_add_device failed"); + sbp2_logout_device(scsi_id); + sbp2_remove_device(scsi_id); return error; } |