فهرست منبع

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>
Hans Verkuil 17 سال پیش
والد
کامیت
a2e521e85c
1فایلهای تغییر یافته به همراه5 افزوده شده و 3 حذف شده
  1. 5 3
      include/media/v4l2-i2c-drv-legacy.h

+ 5 - 3
include/media/v4l2-i2c-drv-legacy.h

@@ -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;