Date: Thu, 25 Nov 1999 02:20:08 +0100 (CET) From: Nick Hibma <hibma@skylink.it> To: FreeBSD SCSI Mailing List <scsi@FreeBSD.org> Subject: found device. Message-ID: <Pine.BSF.4.20.9911250218550.489-100000@henny.jrc.it>
index | next in thread | raw e-mail
How do I make sure the bus is rescanned when a new target has appeared?
Whenever a new device is attached, I would like the SCSI bus to which it
is connected to be rescanned. The following code however doesn't do the
job it seems (FYI: All USB Zip drives are connected to 1 SCSI bus, bus
0).
Nick
static int
umass_cam_rescan(umass_softc_t *sc)
{
union ccb *ccb;
struct cam_path *path;
struct cam_periph *periph;
if (xpt_create_path(&path, NULL, CAM_XPT_PATH_ID,
CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD)
!= CAM_REQ_CMP)
return(ENOMEM);
periph = cam_periph_find(path, NULL/*name*/);
if (!periph)
return(EINVAL);
if (xpt_create_path(&sc->path, periph, cam_sim_path(umass_sim),
device_get_unit(sc->sc_dev), CAM_LUN_WILDCARD)
!= CAM_REQ_CMP)
return(ENOMEM);
ccb = malloc(sizeof(union ccb), M_DEVBUF, M_WAITOK);
xpt_setup_ccb(&ccb->ccb_h, sc->path, 5/*priority (low)*/);
ccb->ccb_h.func_code = XPT_SCAN_LUN;
ccb->ccb_h.cbfcnp = umass_cam_attach_callback;
ccb->crcn.flags = CAM_FLAG_NONE;
xpt_action(ccb);
return(0);
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.9911250218550.489-100000>
