Skip to content

Commit

Permalink
[media] ov9640: fix OmniVision OV9640 sensor driver's priv data retri…
Browse files Browse the repository at this point in the history
…eving

OmniVision OV9640 driver wasn't requesting properly its private data
on I2C remove and video_probe functions. It was retrieving the V4L2
subdev struct address instead of priv struct's one. This patch fixes
such problem.

Signed-off-by: David Cohen <dacohen@gmail.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
David Cohen authored and Mauro Carvalho Chehab committed Dec 31, 2010
1 parent f7b74f7 commit 63c9718
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/media/video/ov9640.c
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,8 @@ static int ov9640_cropcap(struct v4l2_subdev *sd, struct v4l2_cropcap *a)
static int ov9640_video_probe(struct soc_camera_device *icd,
struct i2c_client *client)
{
struct ov9640_priv *priv = i2c_get_clientdata(client);
struct v4l2_subdev *sd = i2c_get_clientdata(client);
struct ov9640_priv *priv = to_ov9640_sensor(sd);
u8 pid, ver, midh, midl;
const char *devname;
int ret = 0;
Expand Down Expand Up @@ -788,7 +789,8 @@ static int ov9640_probe(struct i2c_client *client,

static int ov9640_remove(struct i2c_client *client)
{
struct ov9640_priv *priv = i2c_get_clientdata(client);
struct v4l2_subdev *sd = i2c_get_clientdata(client);
struct ov9640_priv *priv = to_ov9640_sensor(sd);

kfree(priv);
return 0;
Expand Down

0 comments on commit 63c9718

Please sign in to comment.