summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2011-05-03 13:16:02 +0000
committermav <mav@FreeBSD.org>2011-05-03 13:16:02 +0000
commitbdaa8f28e7055997bf3c56975f47b9517be60263 (patch)
treeb75717ed0943ca273e13d36dac73f4a41c207199 /sys/cam
parent0f506cc8f8f2e9ea6baf51fc28049bfb70e2d1a6 (diff)
downloadFreeBSD-src-bdaa8f28e7055997bf3c56975f47b9517be60263.zip
FreeBSD-src-bdaa8f28e7055997bf3c56975f47b9517be60263.tar.gz
Do not report legacy unit numbers (do not create legacy aliases) for disks
on port multiplier ports above first two. They don't fit into ATA_STATIC_ID scheme and so can't be mapped properly. No need to pollute dev.
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/cam_xpt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index cf73948..1ce205d 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -3600,9 +3600,12 @@ xpt_path_legacy_ata_id(struct cam_path *path)
}
xpt_unlock_buses();
}
- if (path->target != NULL)
- return (bus_id * 2 + path->target->target_id);
- else
+ if (path->target != NULL) {
+ if (path->target->target_id < 2)
+ return (bus_id * 2 + path->target->target_id);
+ else
+ return (-1);
+ } else
return (bus_id * 2);
}
OpenPOWER on IntegriCloud