sbp2: did not clean up after scsi_add_device() failed
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 13 Dec 2005 04:03:30 +0000 (23:03 -0500)
committerJody McIntyre <scjody@modernduck.com>
Tue, 13 Dec 2005 04:03:30 +0000 (23:03 -0500)
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>
drivers/ieee1394/sbp2.c

index 372a7726063ce736942ec6307b6b6adf1d937952..5b9d03e93514ab8855cb56d14dff54caa44e883f 100644 (file)
@@ -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;
        }