diff options
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_target.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c index 66028f1..bb2bf12 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 <stddef.h> /* 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); } |