> I assumed this check was bogus and there are no valid 0-length > messages... They are valid (check SMBUS_QUICK), but not every controller can handle them correctly. Your driver has SMBUS_QUICK enabled, so this is a contradiction to the check above where it rejects it. So, it looks like it needs to be tested again (and documented this time). If the HW can't do it, the FUNC bit for QUICK needs to be masked out. If it can do SMBUS_QUICK, the check can probably go away.