SMBus controller at a time. This is basically an insurance policy. The
kernel and the status from the SMBus controller should handle this but
observed behavior seems to indicate that the SMBus controller does not
ALWAYS mark itself as "busy" during a transaction especially if a trans-
action fails.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@920 7894878c-1315-0410-8ee3-d5d059ff63e0
to check the "command completed" flag before checking for error flags in
the status register. This will insure that when both conditions exist
(command not completed && error conditions present), a "kill" command will
be executed on the SMBus controller to clean up the bus. Also, added a
status register write after "kill" and "timeout" commands to insure that
the status gets cleaned up after a bad transaction. This change fixes
observed behavior in which a "command never completed" transaction was
always followed by an "idle wait timeout" on the next subsequent trans-
action.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@919 7894878c-1315-0410-8ee3-d5d059ff63e0