• Corey Minyard's avatar
    ipmi:ssif: Add support for multi-part transmit messages > 2 parts · 10042504
    Corey Minyard authored
    The spec was fairly confusing about how multi-part transmit messages
    worked, so the original implementation only added support for two
    part messages.  But after talking about it with others and finding
    something I missed, I think it makes more sense.
    
    The spec mentions smbus command 8 in a table at the end of the
    section on SSIF support as the end transaction.  If that works,
    then all is good and as it should be.  However, some implementations
    seem to use a middle transaction <32 bytes tomark the end because of the
    confusion in the spec, even though that is an SMBus violation if
    the number of bytes is zero.
    
    So this change adds some tests, if command=8 works, it uses that,
    otherwise if an empty end transaction works, it uses a middle
    transaction <32 bytes to mark the end.  If neither works, then
    it limits the size to 63 bytes as it is now.
    
    Cc: Harri Hakkarainen <harri@cavium.com>
    Cc: Bazhenov, Dmitry <dmitry.bazhenov@auriga.com>
    Cc: Mach, Dat <Dat.Mach@cavium.com>
    Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
    10042504
ipmi_ssif.c 51 KB