diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0053-mt9t112-Fix-null-pointer-kernel-bug.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0053-mt9t112-Fix-null-pointer-kernel-bug.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0053-mt9t112-Fix-null-pointer-kernel-bug.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0053-mt9t112-Fix-null-pointer-kernel-bug.patch new file mode 100644 index 00000000..d03795f5 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/cam/0053-mt9t112-Fix-null-pointer-kernel-bug.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 0f6b697fb422f8eb8df539f82df49f0f6f976bc3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sergio Aguirre <saaguirre@ti.com> | ||
3 | Date: Thu, 1 Jul 2010 09:12:37 -0500 | ||
4 | Subject: [PATCH 53/75] mt9t112: Fix null pointer kernel bug | ||
5 | |||
6 | We were trying to access a null pointer (info) which we weren't | ||
7 | initializing anywhere. | ||
8 | |||
9 | Fix this. | ||
10 | |||
11 | Signed-off-by: Sergio Aguirre <saaguirre@ti.com> | ||
12 | --- | ||
13 | drivers/media/video/mt9t112.c | 34 +++++++++++++++++++++++----------- | ||
14 | 1 files changed, 23 insertions(+), 11 deletions(-) | ||
15 | |||
16 | diff --git a/drivers/media/video/mt9t112.c b/drivers/media/video/mt9t112.c | ||
17 | index 6f54394..98a4ea9 100644 | ||
18 | --- a/drivers/media/video/mt9t112.c | ||
19 | +++ b/drivers/media/video/mt9t112.c | ||
20 | @@ -92,7 +92,7 @@ struct mt9t112_frame_size { | ||
21 | struct mt9t112_priv { | ||
22 | struct mt9t112_platform_data *pdata; | ||
23 | struct v4l2_int_device *v4l2_int_device; | ||
24 | - struct mt9t112_camera_info *info; | ||
25 | + struct mt9t112_camera_info info; | ||
26 | struct i2c_client *client; | ||
27 | struct v4l2_pix_format pix; | ||
28 | int model; | ||
29 | @@ -463,15 +463,15 @@ static int mt9t112_init_pll(const struct i2c_client *client) | ||
30 | |||
31 | /* Replace these registers when new timing parameters are generated */ | ||
32 | mt9t112_set_pll_dividers(client, | ||
33 | - priv->info->divider.m, | ||
34 | - priv->info->divider.n, | ||
35 | - priv->info->divider.p1, | ||
36 | - priv->info->divider.p2, | ||
37 | - priv->info->divider.p3, | ||
38 | - priv->info->divider.p4, | ||
39 | - priv->info->divider.p5, | ||
40 | - priv->info->divider.p6, | ||
41 | - priv->info->divider.p7); | ||
42 | + priv->info.divider.m, | ||
43 | + priv->info.divider.n, | ||
44 | + priv->info.divider.p1, | ||
45 | + priv->info.divider.p2, | ||
46 | + priv->info.divider.p3, | ||
47 | + priv->info.divider.p4, | ||
48 | + priv->info.divider.p5, | ||
49 | + priv->info.divider.p6, | ||
50 | + priv->info.divider.p7); | ||
51 | |||
52 | /* | ||
53 | * TEST_BYPASS on | ||
54 | @@ -1015,7 +1015,7 @@ static int mt9t112_v4l2_int_s_power(struct v4l2_int_device *s, | ||
55 | } | ||
56 | if (!(priv->flags & INIT_DONE)) { | ||
57 | u16 param = (MT9T112_FLAG_PCLK_RISING_EDGE & | ||
58 | - priv->info->flags) ? 0x0001 : 0x0000; | ||
59 | + priv->info.flags) ? 0x0001 : 0x0000; | ||
60 | |||
61 | ECHECKER(ret, mt9t112_detect(client)); | ||
62 | ECHECKER(ret, mt9t112_init_camera(client)); | ||
63 | @@ -1195,6 +1195,18 @@ static int mt9t112_probe(struct i2c_client *client, | ||
64 | priv->client = client; | ||
65 | priv->pdata = client->dev.platform_data; | ||
66 | |||
67 | + /* Revisit: Init Sensor info settings */ | ||
68 | + priv->info.divider.m = 25; | ||
69 | + priv->info.divider.n = 2; | ||
70 | + priv->info.divider.p1 = 0; | ||
71 | + priv->info.divider.p2 = 9; | ||
72 | + priv->info.divider.p3 = 0; | ||
73 | + priv->info.divider.p4 = 13; | ||
74 | + priv->info.divider.p5 = 13; | ||
75 | + priv->info.divider.p6 = 9; | ||
76 | + priv->info.divider.p7 = 0; | ||
77 | + priv->info.flags = MT9T112_FLAG_PCLK_RISING_EDGE; | ||
78 | + | ||
79 | i2c_set_clientdata(client, priv); | ||
80 | |||
81 | //ret = mt9t112_detect(client); | ||
82 | -- | ||
83 | 1.6.6.1 | ||
84 | |||