From 0e29665c65645ddc32e30eb9522cc05369a172be Mon Sep 17 00:00:00 2001 From: Rudolf Marek Date: Tue, 6 Jun 2006 16:32:41 +0000 Subject: [PATCH] Backport of 2.6 - Workaround the controller hang git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4042 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/busses/i2c-amd756.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/busses/i2c-amd756.c b/kernel/busses/i2c-amd756.c index 5f93255b..a19d93cf 100644 --- a/kernel/busses/i2c-amd756.c +++ b/kernel/busses/i2c-amd756.c @@ -126,6 +126,8 @@ static int amd756_transaction(void) inw_p(SMB_HOST_ADDRESS), inb_p(SMB_HOST_DATA)); /* Make sure the SMBus host is ready to start transmitting */ + /* And wait for the SMBus controller to settle down (avoids hang) */ + msleep(1); if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) { pr_debug(DRV_NAME ": SMBus busy (%04x). Waiting...\n", temp); do {