summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cam/cam_xpt.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index bf23cbc..33d02aa 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -4164,19 +4164,19 @@ xptpathid(const char *sim_name, int sim_unit, int sim_bus)
{
path_id_t pathid;
int i, dunit, val;
- char buf[32], *strval;
+ char buf[32];
pathid = CAM_XPT_PATH_ID;
snprintf(buf, sizeof(buf), "%s%d", sim_name, sim_unit);
i = -1;
- while ((i = resource_locate(i, "scbus")) != -1) {
+ while ((i = resource_query_string(i, "at", buf)) != -1) {
+ if (strcmp(resource_query_name(i), "scbus")) {
+ /* Avoid a bit of foot shooting. */
+ continue;
+ }
dunit = resource_query_unit(i);
if (dunit < 0) /* unwired?! */
continue;
- if (resource_string_value("scbus", dunit, "at", &strval) != 0)
- continue;
- if (strcmp(buf, strval) != 0)
- continue;
if (resource_int_value("scbus", dunit, "bus", &val) == 0) {
if (sim_bus == val) {
pathid = dunit;
OpenPOWER on IntegriCloud