From 0f996208dcce6fc23074b15a453fb82768377e3d Mon Sep 17 00:00:00 2001 From: Christian Geddes Date: Mon, 12 Aug 2019 18:00:17 -0500 Subject: Use REL_POS of OMI and not OCMB for calculating hdat DIMM ID's There is a bug in the code where we are attempting to lookup the REL_POS of an ocmb target while trying to generate the id hdat will use to uniquely identify a given dimm target. OCMB targets do not have the REL_POS attribute and if they did it would always be 0, or it would match the associated DIMM's REL_POS (for single dimm ocmbs at least). Instead we will use the OMI's REL_POS which should work because OMI's are 1-1 with OCMB targets. Change-Id: Ib22307c7f4c2d97a5368fd507fe7b4965135c76e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82120 Tested-by: Jenkins Server Reviewed-by: Jayashankar Padath Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: William G Hoffa Reviewed-by: Daniel M Crowell --- src/usr/hdat/hdatmsvpd.C | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/usr/hdat') diff --git a/src/usr/hdat/hdatmsvpd.C b/src/usr/hdat/hdatmsvpd.C index 711900766..fb86e10bd 100755 --- a/src/usr/hdat/hdatmsvpd.C +++ b/src/usr/hdat/hdatmsvpd.C @@ -2030,11 +2030,11 @@ errlHndl_t HdatMsVpd::hdatLoadMsData(uint32_t &o_size, uint32_t &o_count) uint32_t l_dimmId = 0; l_dimmId |= - 1 << (31 - l_pOcmbTarget->getAttr - ()); + 1 << (31 - l_pOmiTarget->getAttr + ()); l_dimmId |= 1 << (31 - (l_pmemPortTarget->getAttr - ()+16)); + ()+16)); l_dimmId |= 1 << (31 - (l_pDimmTarget->getAttr ()+20)); -- cgit v1.2.1