Fixed bug when reading Manufacturer Name: this was caused by the SMBus_Read() function returning failure if the number of bytes read did not match the number of bytes expected to be read - this check has been removed.
SMBus_Read() function now returns the number of bytes read.