From 7c5d303237f2bec25b7072ec3119d6d4fef875fc Mon Sep 17 00:00:00 2001 From: Prachi Gupta Date: Tue, 3 Feb 2015 19:31:22 -0600 Subject: Skipping over readTOC if hostInterface for pnor_read/write doesn't exist Change-Id: I7c94df2262e29bddafaaba34e5e00ecd35ac5c13 CQ: SW293755 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15542 Reviewed-by: STEPHEN M. CPREK Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III --- src/usr/pnor/runtime/rt_pnor.C | 50 +++++++++++++++++-------------- src/usr/util/runtime/test/testlidmgr_rt.H | 7 +++-- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/usr/pnor/runtime/rt_pnor.C b/src/usr/pnor/runtime/rt_pnor.C index c61aa1d2d..f616e9874 100644 --- a/src/usr/pnor/runtime/rt_pnor.C +++ b/src/usr/pnor/runtime/rt_pnor.C @@ -588,31 +588,35 @@ errlHndl_t RtPnor::readTOC () break; } - // @TODO RTC:120733 - // RT code needs a way to get the active side tocs vs just defaulting - // to SIDE_A - l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::SIDE_A_TOC_0_OFFSET, - PAGESIZE,false,toc0Buffer); - if (l_err) - { - TRACFCOMP(g_trac_pnor,"RtPnor::readTOC:readFromDevice failed" - " for TOC0"); - break; - } - l_err = readFromDevice (l_procId, PNOR::TOC, PNOR::SIDE_A_TOC_1_OFFSET, - PAGESIZE, false,toc1Buffer); - if (l_err) + if (g_hostInterfaces && g_hostInterfaces->pnor_read) { - TRACFCOMP(g_trac_pnor, "RtPnor::readTOC:readFromDevice failed" - " for TOC1"); - break; - } + //@TODO RTC:120733 + //RT code needs a way to get the active side tocs vs just defaulting + //to SIDE_A + l_err = readFromDevice(l_procId,PNOR::TOC,PNOR::SIDE_A_TOC_0_OFFSET, + PAGESIZE,false,toc0Buffer); + if (l_err) + { + TRACFCOMP(g_trac_pnor,"RtPnor::readTOC:readFromDevice failed" + " for TOC0"); + break; + } - l_err = PNOR::parseTOC(toc0Buffer, toc1Buffer, iv_TOC_used, iv_TOC, 0); - if (l_err) - { - TRACFCOMP(g_trac_pnor, "RtPnor::readTOC: parseTOC failed"); - break; + l_err = readFromDevice(l_procId,PNOR::TOC,PNOR::SIDE_A_TOC_1_OFFSET, + PAGESIZE, false,toc1Buffer); + if (l_err) + { + TRACFCOMP(g_trac_pnor, "RtPnor::readTOC:readFromDevice failed" + " for TOC1"); + break; + } + + l_err = PNOR::parseTOC(toc0Buffer,toc1Buffer,iv_TOC_used,iv_TOC,0); + if (l_err) + { + TRACFCOMP(g_trac_pnor, "RtPnor::readTOC: parseTOC failed"); + break; + } } } while (0); diff --git a/src/usr/util/runtime/test/testlidmgr_rt.H b/src/usr/util/runtime/test/testlidmgr_rt.H index 451468422..d869e3c81 100644 --- a/src/usr/util/runtime/test/testlidmgr_rt.H +++ b/src/usr/util/runtime/test/testlidmgr_rt.H @@ -26,6 +26,7 @@ #include #include #include +#include class LidMgrRtTest : public CxxTest::TestSuite { @@ -64,11 +65,11 @@ class LidMgrRtTest : public CxxTest::TestSuite PNOR::SectionInfo_t l_lidPnorInfo; l_errl = PNOR::getSectionInfo(PNOR::TEST, l_lidPnorInfo); - // Section only present in openPOWER systems if (l_errl) { - delete l_errl; - l_errl = NULL; + errlCommit(l_errl,UTIL_COMP_ID); + TS_FAIL("testLidInPnor: Error getting lidId=0x%.8x", + Util::TEST_LIDID); break; } -- cgit v1.2.1