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.
|