From 24d351e408ca3541980f5a9ba5b66aff04a5ba70 Mon Sep 17 00:00:00 2001 From: marius Date: Mon, 27 Oct 2008 21:46:58 +0000 Subject: 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 Submitted by: Eygene Ryabinkin Approved by: silence from ken and scottl MFC after: 1 week --- lib/libcam/camlib.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/libcam/camlib.c') diff --git a/lib/libcam/camlib.c b/lib/libcam/camlib.c index e521ed3..73cc3d0 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); -- cgit v1.1