From 1b9a617c7c935c1a8ac29d21880b4b2ef29c99e3 Mon Sep 17 00:00:00 2001 From: Marius Strobl Date: Tue, 4 Nov 2008 22:51:56 +0000 Subject: [PATCH] MFC: r184379 Supply a valid Connect ID when issuing XPT_DEV_MATCH, which according to my reading of the CAM draft is mandatory for all CCB function calls and enforced by xptioctl() since at least r168752. Previously we happened to use 0 as the Path ID, causing the XPT_DEV_MATCH call to fail if there's no SCSI bus 0. Basically the same bug was also fixed the same way for camcontrol(8) as part of r126514. PR: 127605 Approved by: re (kib) --- lib/libcam/camlib.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/libcam/camlib.c b/lib/libcam/camlib.c index e521ed366cf5..73cc3d06f8da 100644 --- a/lib/libcam/camlib.c +++ b/lib/libcam/camlib.c @@ -346,6 +346,9 @@ cam_open_btl(path_id_t path_id, target_id_t target_id, lun_id_t target_lun, bzero(&ccb, sizeof(union ccb)); ccb.ccb_h.func_code = XPT_DEV_MATCH; + ccb.ccb_h.path_id = CAM_XPT_PATH_ID; + ccb.ccb_h.target_id = CAM_TARGET_WILDCARD; + ccb.ccb_h.target_lun = CAM_LUN_WILDCARD; /* Setup the result buffer */ bufsize = sizeof(struct dev_match_result);