V4L/DVB (6466): v4l2-i2c-drv: first call remove, then detach client

The remove driver function expects that the client is still attached
to the driver, so do the detach after calling remove().

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Hans Verkuil 2007-09-17 05:13:45 -03:00 committed by Mauro Carvalho Chehab
parent 188f3457c2
commit a2e521e85c

View file

@ -58,12 +58,14 @@ static int v4l2_i2c_drv_probe_legacy(struct i2c_adapter *adapter)
static int v4l2_i2c_drv_detach_legacy(struct i2c_client *client)
{
int err = i2c_detach_client(client);
int err;
if (err)
return err;
if (v4l2_i2c_data.remove)
v4l2_i2c_data.remove(client);
err = i2c_detach_client(client);
if (err)
return err;
kfree(client);
return 0;