From: <br...@us...> - 2006-12-06 18:28:52
|
Revision: 415 http://svn.sourceforge.net/omc/?rev=415&view=rev Author: brieske Date: 2006-12-06 10:28:33 -0800 (Wed, 06 Dec 2006) Log Message: ----------- Handled error condition in IpmiIfcFruInstantiateAll Modified Paths: -------------- smash/trunk/src/lib/omc-ipmi/IpmiIfcFru.cpp Modified: smash/trunk/src/lib/omc-ipmi/IpmiIfcFru.cpp =================================================================== --- smash/trunk/src/lib/omc-ipmi/IpmiIfcFru.cpp 2006-12-05 00:09:31 UTC (rev 414) +++ smash/trunk/src/lib/omc-ipmi/IpmiIfcFru.cpp 2006-12-06 18:28:33 UTC (rev 415) @@ -286,7 +286,8 @@ IpmiIfcFruInstantiateAll(ipmi_drv *drv) { ipmiifc_sdr_list *sdr; - + int cc = 0; + UInt32 saveAddress = drv->target_addr; UInt8 saveLun = drv->target_lun; UInt8 saveChannel = drv->target_channel; @@ -311,7 +312,6 @@ for (int retries=5;retries;retries-- ) { - int cc; cc=IpmiIfcFruGetInv(drv, sdr->record.fruloc->device_id); if (cc==0xc3) // retry if timeout { @@ -320,16 +320,20 @@ } break; } - IpmiFruOptionalRefArray optRefArray = IpmiIfcFruParseOptional(); + + if(cc == 0) + { + IpmiFruOptionalRefArray optRefArray = IpmiIfcFruParseOptional(); - IpmiFruRef sref; - sref = new IpmiFru((int)sdr->length, - (unsigned char *)sdr->record.full); - sref->setOptionalRefArray(optRefArray); - IpmiFruOptionalRefArray tmpRefArray; - tmpRefArray = sref->getOptionalRefArray(); + IpmiFruRef sref; + sref = new IpmiFru((int)sdr->length, + (unsigned char *)sdr->record.full); + sref->setOptionalRefArray(optRefArray); + IpmiFruOptionalRefArray tmpRefArray; + tmpRefArray = sref->getOptionalRefArray(); - g_fruArray.append(sref); + g_fruArray.append(sref); + } } drv->target_addr = saveAddress; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |