diff options
| author | Matt Jacob <mjacob@FreeBSD.org> | 2010-02-23 14:35:44 +0000 |
|---|---|---|
| committer | Matt Jacob <mjacob@FreeBSD.org> | 2010-02-23 14:35:44 +0000 |
| commit | 940907907bd8597fdc52d1c434a1273bf757e8ba (patch) | |
| tree | 7046370f7981abf060610b6e37dfec1bc9c97430 /sys/dev/isp | |
| parent | 0d05eee2f97fda9d841a0c7e3f4052b60d2eda0d (diff) | |
Notes
Diffstat (limited to 'sys/dev/isp')
| -rw-r--r-- | sys/dev/isp/isp_freebsd.c | 7 |
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; |
