Apparently there's a good reason why M_WAITOK malloc() is done before

xpt_create_path().
This commit is contained in:
Ruslan Ermilov 2004-01-18 13:09:38 +00:00
parent 85e17c603d
commit ebbdb48fe6

View file

@ -186,15 +186,15 @@ static void
vpo_cam_rescan(struct vpo_data *vpo)
{
struct cam_path *path;
union ccb *ccb;
union ccb *ccb = malloc(sizeof(union ccb), M_TEMP, M_WAITOK | M_ZERO);
if (xpt_create_path(&path, xpt_periph, cam_sim_path(vpo->sim), 0, 0)
!= CAM_REQ_CMP) {
/* A failure is benign as the user can do a manual rescan */
free(ccb, M_TEMP);
return;
}
ccb = malloc(sizeof(union ccb), M_TEMP, M_WAITOK | M_ZERO);
xpt_setup_ccb(&ccb->ccb_h, path, 5/*priority (low)*/);
ccb->ccb_h.func_code = XPT_SCAN_BUS;
ccb->ccb_h.cbfcnp = vpo_cam_rescan_callback;