i2c: i2c_use_client() defends against NULL

Defend the i2c refcount calls against NULL pointers, as is important
(and conventional) for such calls.  Note that none of the current
callers of i2c_use_client() use its return value.

[JD: I hate this but apparently all the other subsystems do it so...]

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
David Brownell 2008-07-14 22:38:24 +02:00 committed by Jean Delvare
parent a1cdedac63
commit 6ea438ec8d

View File

@ -866,8 +866,9 @@ EXPORT_SYMBOL(i2c_detach_client);
*/
struct i2c_client *i2c_use_client(struct i2c_client *client)
{
get_device(&client->dev);
return client;
if (client && get_device(&client->dev))
return client;
return NULL;
}
EXPORT_SYMBOL(i2c_use_client);
@ -879,7 +880,8 @@ EXPORT_SYMBOL(i2c_use_client);
*/
void i2c_release_client(struct i2c_client *client)
{
put_device(&client->dev);
if (client)
put_device(&client->dev);
}
EXPORT_SYMBOL(i2c_release_client);