Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Sep 2013 09:19:28 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r255550 - stable/9/sys/cam
Message-ID:  <201309140919.r8E9JSOQ000242@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sat Sep 14 09:19:27 2013
New Revision: 255550
URL: http://svnweb.freebsd.org/changeset/base/255550

Log:
  MFC r249008 (by trasz):
  Fix panic in the error path caused by recursive acquisition of XPT topology
  lock.

Modified:
  stable/9/sys/cam/cam_periph.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/cam/cam_periph.c
==============================================================================
--- stable/9/sys/cam/cam_periph.c	Sat Sep 14 09:11:31 2013	(r255549)
+++ stable/9/sys/cam/cam_periph.c	Sat Sep 14 09:19:27 2013	(r255550)
@@ -218,9 +218,9 @@ cam_periph_alloc(periph_ctor_t *periph_c
 	}
 	if (*p_drv == NULL) {
 		printf("cam_periph_alloc: invalid periph name '%s'\n", name);
+		xpt_unlock_buses();
 		xpt_free_path(periph->path);
 		free(periph, M_CAMPERIPH);
-		xpt_unlock_buses();
 		return (CAM_REQ_INVALID);
 	}
 	periph->unit_number = camperiphunit(*p_drv, path_id, target_id, lun_id);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309140919.r8E9JSOQ000242>