summaryrefslogtreecommitdiff
path: root/sys/dev/isp
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2010-02-23 14:35:44 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2010-02-23 14:35:44 +0000
commit940907907bd8597fdc52d1c434a1273bf757e8ba (patch)
tree7046370f7981abf060610b6e37dfec1bc9c97430 /sys/dev/isp
parent0d05eee2f97fda9d841a0c7e3f4052b60d2eda0d (diff)
Notes
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_freebsd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index 7e1fa8547f70..515e6373f9f5 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -3892,7 +3892,12 @@ isp_make_here(ispsoftc_t *isp, int chan, int tgt)
isp_prt(isp, ISP_LOGWARN, "Chan %d unable to alloc CCB for rescan", chan);
return;
}
- if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, cam_sim_path(fc->sim), tgt, 0) != CAM_REQ_CMP) {
+ /*
+ * xpt_rescan only honors wildcard in the target field.
+ * Scan the whole bus instead of target, which will then
+ * force a scan of all luns.
+ */
+ if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, cam_sim_path(fc->sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) {
isp_prt(isp, ISP_LOGWARN, "unable to create path for rescan");
xpt_free_ccb(ccb);
return;