When doing a camcontrol rescan all or a camcontrol reset all, use the wildcard

path id for enumerating the available busses.  Previously camcontrol was
implicitly passing 0 as the first path id, which meant that if bus 0 was not
present camcontrol would fail with EINVAL instead of rescanning/resetting any
busses that were present.

Approved by:	emaste (mentor)
MFC after:	1 week
This commit is contained in:
Ryan Stone 2010-11-19 03:47:10 +00:00
parent 3c578b2a05
commit 698ec346a1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=215507

View File

@ -1526,6 +1526,7 @@ rescan_or_reset_bus(int bus, int rescan)
bzero(&(&matchccb.ccb_h)[1],
sizeof(struct ccb_dev_match) - sizeof(struct ccb_hdr));
matchccb.ccb_h.func_code = XPT_DEV_MATCH;
matchccb.ccb_h.path_id = CAM_BUS_WILDCARD;
bufsize = sizeof(struct dev_match_result) * 20;
matchccb.cdm.match_buf_len = bufsize;
matchccb.cdm.matches=(struct dev_match_result *)malloc(bufsize);