From 104ae1d6b1a5d6b411a340b3cd052e871a6dc818 Mon Sep 17 00:00:00 2001 From: scottl Date: Thu, 19 Apr 2007 18:14:33 +0000 Subject: [PATCH] Avoid problems with make_dev. --- sys/cam/scsi/scsi_pt.c | 2 ++ sys/cam/scsi/scsi_sa.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/cam/scsi/scsi_pt.c b/sys/cam/scsi/scsi_pt.c index 9f474d9c7e21..7201a58727cf 100644 --- a/sys/cam/scsi/scsi_pt.c +++ b/sys/cam/scsi/scsi_pt.c @@ -303,9 +303,11 @@ ptctor(struct cam_periph *periph, void *arg) SID_TYPE(&cgd->inq_data) | DEVSTAT_TYPE_IF_SCSI, DEVSTAT_PRIORITY_OTHER); + cam_periph_unlock(periph); softc->dev = make_dev(&pt_cdevsw, periph->unit_number, UID_ROOT, GID_OPERATOR, 0600, "%s%d", periph->periph_name, periph->unit_number); + cam_periph_lock(periph); softc->dev->si_drv1 = periph; /* diff --git a/sys/cam/scsi/scsi_sa.c b/sys/cam/scsi/scsi_sa.c index 170d35c9c999..69d99d2b32d9 100644 --- a/sys/cam/scsi/scsi_sa.c +++ b/sys/cam/scsi/scsi_sa.c @@ -1521,6 +1521,7 @@ saregister(struct cam_periph *periph, void *arg) DEVSTAT_BS_UNAVAILABLE, SID_TYPE(&cgd->inq_data) | DEVSTAT_TYPE_IF_SCSI, DEVSTAT_PRIORITY_TAPE); + cam_periph_unlock(periph); softc->devs.ctl_dev = make_dev(&sa_cdevsw, SAMINOR(SA_CTLDEV, periph->unit_number, 0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR, 0660, "%s%d.ctl", periph->periph_name, periph->unit_number); @@ -1563,6 +1564,7 @@ saregister(struct cam_periph *periph, void *arg) alias->si_drv1 = periph; } } + cam_periph_lock(periph); /* * Add an async callback so that we get