diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c index 66028f13683..bb2bf1298b8 100644 --- a/sys/cam/scsi/scsi_target.c +++ b/sys/cam/scsi/scsi_target.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_target.c,v 1.8 1999/02/11 07:08:58 gibbs Exp $ + * $Id: scsi_target.c,v 1.9 1999/03/05 23:25:10 gibbs Exp $ */ #include /* For offsetof */ @@ -638,9 +638,6 @@ targallocinstance(struct ioc_alloc_unit *alloc_unit) 0, &cpi); fail: - if (free_path_on_return != 0) - xpt_free_path(path); - switch (status) { case CAM_REQ_CMP: { @@ -668,6 +665,10 @@ fail: error = ENODEV; break; } + + if (free_path_on_return != 0) + xpt_free_path(path); + return (error); }