Messages in this thread | | | Date | Thu, 4 Mar 2004 01:34:46 -0500 | From | Kevin O'Connor <> | Subject | i2c_use_client broken |
| |
Hi Greg,
In 2.6.3's i2c-core.c there is the following code:
static int i2c_inc_use_client(struct i2c_client *client) {
if (!try_module_get(client->driver->owner)) return -ENODEV; if (!try_module_get(client->adapter->owner)) { module_put(client->driver->owner); return -ENODEV; }
return 0; } [...] int i2c_use_client(struct i2c_client *client) { if (!i2c_inc_use_client(client)) return -ENODEV; [...]
The i2c_inc_use_client test looks backward - the code should look like:
if (i2c_inc_use_client(client)) return -ENODEV;
because i2c_inc_use_client returns 0 on success.
If I've missed something, please let me know. I apologize if you're not the right person to mail or if this has already been fixed.
-Kevin
-- --------------------------------------------------------------------- | Kevin O'Connor "BTW, IMHO we need a FAQ for | | kevin@koconnor.net 'IMHO', 'FAQ', 'BTW', etc. !" | --------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |