1 Nov 2009 13:25
[PATCH] i2c-i801: Retry on lost arbitration
The Intel 82801 is sometimes used on systems with a BMC connected. The BMC can access the SMBus, resulting in lost arbitration for the 82801. We should let i2c-core retry transactions for us in this case. Signed-off-by: Jean Delvare <khali@...> --- drivers/i2c/busses/i2c-i801.c | 3 +++ 1 file changed, 3 insertions(+) --- linux-2.6.32-rc5.orig/drivers/i2c/busses/i2c-i801.c 2009-10-05 10:45:49.000000000 +0200 +++ linux-2.6.32-rc5/drivers/i2c/busses/i2c-i801.c 2009-11-01 11:33:29.000000000 +0100 <at> <at> -767,6 +767,9 <at> <at> static int __devinit i801_probe(struct p /* set up the sysfs linkage to our parent device */ i801_adapter.dev.parent = &dev->dev; + /* Retry up to 3 times on arbitration loss */ + i801_adapter.retries = 3; + snprintf(i801_adapter.name, sizeof(i801_adapter.name), "SMBus I801 adapter at %04lx", i801_smba); err = i2c_add_adapter(&i801_adapter); -- -- Jean Delvare
RSS Feed