summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/i2c-core.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-03-13 05:26:33 +0100
committerPaul Mackerras <paulus@samba.org>2008-03-13 05:26:33 +0100
commitbed04a4413376265746053be2a9cfbfc80c98ec9 (patch)
tree8f582294a655f70496cd08aedeb86de31dbad140 /drivers/i2c/i2c-core.c
parentpasemi_mac: basic ethtool support (diff)
parentMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/... (diff)
downloadlinux-bed04a4413376265746053be2a9cfbfc80c98ec9.tar.xz
linux-bed04a4413376265746053be2a9cfbfc80c98ec9.zip
Merge branch 'linux-2.6'
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r--drivers/i2c/i2c-core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 96da22e9a5a4..fd84b2a36338 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -90,12 +90,16 @@ static int i2c_device_probe(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct i2c_driver *driver = to_i2c_driver(dev->driver);
+ int status;
if (!driver->probe)
return -ENODEV;
client->driver = driver;
dev_dbg(dev, "probe\n");
- return driver->probe(client);
+ status = driver->probe(client);
+ if (status)
+ client->driver = NULL;
+ return status;
}
static int i2c_device_remove(struct device *dev)