diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-12-06 11:06:27 -0500 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2009-12-06 11:06:27 -0500 |
commit | 7e2193a8f942a80eef4ae87e3850615450966d0a (patch) | |
tree | 00c0b46a1ce90845e28571713ce6e5cd8770532b /drivers | |
parent | 9669f54194b4df34c96478d696d9ba2b977545f5 (diff) |
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@linux-fr.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/i2c/busses/i2c-i801.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 55edcfe5b851..df6ab553f975 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c | |||
@@ -767,6 +767,9 @@ static int __devinit i801_probe(struct pci_dev *dev, const struct pci_device_id | |||
767 | /* set up the sysfs linkage to our parent device */ | 767 | /* set up the sysfs linkage to our parent device */ |
768 | i801_adapter.dev.parent = &dev->dev; | 768 | i801_adapter.dev.parent = &dev->dev; |
769 | 769 | ||
770 | /* Retry up to 3 times on lost arbitration */ | ||
771 | i801_adapter.retries = 3; | ||
772 | |||
770 | snprintf(i801_adapter.name, sizeof(i801_adapter.name), | 773 | snprintf(i801_adapter.name, sizeof(i801_adapter.name), |
771 | "SMBus I801 adapter at %04lx", i801_smba); | 774 | "SMBus I801 adapter at %04lx", i801_smba); |
772 | err = i2c_add_adapter(&i801_adapter); | 775 | err = i2c_add_adapter(&i801_adapter); |