Date: Thu, 25 Nov 1999 15:38:13 +0100 (CET) From: Nick Hibma <hibma@skylink.it> To: FreeBSD SCSI Mailing List <scsi@FreeBSD.org> Subject: Re: found device. Message-ID: <Pine.BSF.4.20.9911251536010.1647-100000@henny.jrc.it> In-Reply-To: <Pine.BSF.4.20.9911250218550.489-100000@henny.jrc.it>
next in thread | previous in thread | raw e-mail | index | archive | help
For your information: The following code fails as well: union ccb *ccb = NULL; struct ccb_getdev *cgd = (struct ccb_getdev *)ccb; ccb = malloc(sizeof(union ccb), M_USBDEV, M_WAITOK); memset(ccb, 0, sizeof(union ccb)); cgd->ccb_h.func_code = XPT_GDEV_TYPE; if (xpt_create_path(&sc->path, NULL, cam_sim_path(umass_sim), device_get_unit(sc->sc_dev), CAM_LUN_WILDCARD) != CAM_REQ_CMP) return(ENOMEM); xpt_async(AC_FOUND_DEVICE, sc->path, cgd); free(ccb, M_USBDEV); This code bombs passasync() (the code fragment below just silently fails). Cheers, Nick > 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 > -- hibma@skylink.it n_hibma@freebsd.org USB project http://www.etla.net/~n_hibma/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.9911251536010.1647-100000>