diff options
-rw-r--r-- | sys/dev/ppbus/vpo.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ppbus/vpo.c b/sys/dev/ppbus/vpo.c index 47e8bc7..69d2870 100644 --- a/sys/dev/ppbus/vpo.c +++ b/sys/dev/ppbus/vpo.c @@ -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; |