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>
  */
 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);
 
  */
 void i2c_release_client(struct i2c_client *client)
 {
-       put_device(&client->dev);
+       if (client)
+               put_device(&client->dev);
 }
 EXPORT_SYMBOL(i2c_release_client);