Fix: Get device ID returns wrong firmware version

Get device ID is currently getting the version and device
information(Product ID, Manufacturing ID etc.) and caching
that data. If any failure while getting the versions info
like D-Bus calls, cache data is not getting updated in next
call. This is purely timing issue.

Added separate initialize flag for firmware version. If any
failure to get firmware version, it will update the cache
on next call.

Tested:
 - Get device id works fine always after boot complete.
 - Also Unit tested negative scenario by stopping D-Bus service
   which provides BMC version and restarting IPMI.

Change-Id: I10025c871cf1d23951b9609fcbed277f2b0069e5
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
1 file changed