[Bug 1324992] Re: freeipmi patch for HP moonshot ARM cartridges with I2c
dann frazier
dann.frazier at canonical.com
Fri May 30 22:28:26 UTC 2014
** Description changed:
- As per HP for moonshot arm cartridges freeipmi changes are needed. So
- this request is to pull the patch from upstream into current version of
- trusty to support the i2c communication on HP moonshot chassis.
+ [Impact]
+ freeipmi is unable to reliable communicate with the BMC on ARM HP Moonshot cartridges
+ [Test Case]
- Here are the details.
-
- svn://svn.savannah.gnu.org/freeipmi/trunk
-
- Revision: 10072
- Author: chu11
- Date: Friday, May 30, 2014 10:21:03 AM
- Message:
- Retry ssif reads as needed
- ----
- Modified : /trunk/ChangeLog
- Modified : /trunk/libfreeipmi/api/ipmi-ssif-driver-api.c
- Modified : /trunk/libfreeipmi/api/ipmi-ssif-driver-api.h
-
- I have attached the ChangeLog and patch file for your reference.
-
- -----Original Message-----
- From: Al Chu [mailto:chu11 at llnl.gov]
- Sent: Friday, May 30, 2014 10:26 AM
- To: Dande, Shashi
- Cc: freeipmi-devel at gnu.org
- Subject: RE: FreeIPMI Patch Submission
-
- Great. It'll be in the next release of FreeIPMI (1.4.4)
-
- Al
-
- On Thu, 2014-05-29 at 23:32 +0000, Dande, Shashi wrote:
- > Hi Al
- >
- > Here is the updated patch per our conversation today.
- >
- > Thanks
- > Shashi
- >
- > Index: ipmi-ssif-driver-api.c
- > ===================================================================
- > --- ipmi-ssif-driver-api.c (revision 10066)
- > +++ ipmi-ssif-driver-api.c (working copy)
- > @@ -319,7 +319,9 @@
- > uint8_t cmd = 0; /* used for debugging */
- > uint8_t group_extension = 0; /* used for debugging */
- > uint64_t val;
- > -
- > + struct timespec request, remain;
- > + uint8_t retry = IPMI_SSIF_RETRY_DEFAULT;
- > +
- > assert (ctx
- > && ctx->magic == IPMI_CTX_MAGIC
- > && ctx->type == IPMI_DEVICE_SSIF
- > @@ -350,9 +352,39 @@
- > if (_ssif_cmd_write (ctx, cmd, group_extension, obj_cmd_rq) < 0)
- > return (-1);
- >
- > + /******************************************************************************
- > + 12.9 SMBus NACKs and Error Recovery:
- > + ====================================
- > + The BMC can NACK the SMBus host controller if it is not ready to accept a new
- > + transaction. Typically, this will be exhibited by the BMC NACK'ing its slave
- > + address.
- > +
- > + If the BMC NACKs a single part transaction, software can simply retry it.
- > + If a 'middle' or 'end' transaction is NACK'd, software should not retry the
- > + particular but should restart the multi-part read or write from the beginning
- > + Start transaction for the transfer.
- > +
- > + ********************************************************************
- > + ***********/
- > if (_ssif_cmd_read (ctx, cmd, group_extension, obj_cmd_rs) < 0)
- > - return (-1);
- > + {
- > + while (1)
- > + {
- > + request.tv_sec = 0;
- > + request.tv_nsec = IPMI_SSIF_TIMEOUT_DEFAULT;
- > + if (nanosleep (&request, &remain) < 0 )
- > + return (-1);
- >
- > + if (_ssif_cmd_read (ctx, cmd, group_extension, obj_cmd_rs) < 0)
- > + {
- > + if (retry == 0)
- > + return (-1);
- > +
- > + retry--;
- > + }
- > + else
- > + break;
- > + }
- > + }
- > +
- > return (0);
- > }
- >
- > Index: ipmi-ssif-driver-api.h
- > ===================================================================
- > --- ipmi-ssif-driver-api.h (revision 10066)
- > +++ ipmi-ssif-driver-api.h (working copy)
- > @@ -23,6 +23,9 @@
- > #include <freeipmi/api/ipmi-api.h>
- > #include <freeipmi/fiid/fiid.h>
- >
- > +#define IPMI_SSIF_RETRY_DEFAULT 5
- > +#define IPMI_SSIF_TIMEOUT_DEFAULT 20000000 /* 20 ms */
- > +
- > int api_ssif_cmd (ipmi_ctx_t ctx,
- > fiid_obj_t obj_cmd_rq,
- > fiid_obj_t obj_cmd_rs);
+ [Regression Potential]
+ Should be minimal, given the new code only runs in a case that would've previous resulted in a failure.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to freeipmi in Ubuntu.
https://bugs.launchpad.net/bugs/1324992
Title:
freeipmi patch for HP moonshot ARM cartridges with I2c
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/freeipmi/+bug/1324992/+subscriptions
More information about the Ubuntu-server-bugs
mailing list