Commit graph

10 commits

Author SHA1 Message Date
Michael Krufky
255c1887cc V4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain
If tda827x_config hasn't been defined, exit the function.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:02:17 -02:00
Michael Krufky
3b0c453aa7 V4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version
Fix the following oops:

[  750.807586] CPU:    1
[  750.807587] EIP:    0060:[<f9dde2a3>]    Tainted: P       VLI
[  750.807589] EFLAGS: 00010296   (2.6.22-14-generic #1)
[  750.807599] EIP is at tda827x_probe_version+0xc3/0x130 [tda827x]
[  750.807603] eax: 00000000   ebx: f5a45a00   ecx: 00000000   edx: 00000001
[  750.807607] esi: f9de05ac   edi: e9b897e0   ebp: ed8015ac   esp: ed735f58
[  750.807611] ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
[  750.807615] Process kdvb-fe-1 (pid: 10662, ti=ed734000 task=d3b76530 task.ti=ed734000)
[  750.807618] Stack: f9e23972 00000038 ed735fd0 00010060 41ae0001 ed735f73 88b89608 e9b89608
[  750.807629]        e9b89608 ed801400 f9dde338 e9b89608 f9b2a46b 000000ae 00000a18 d3b76640
[  750.807639]        fffffffc f9b2bad6 00000003 f4433e68 e962b8c0 f4433e64 00000292 ed735fd0
[  750.807649] Call Trace:
[  750.807653]  [<f9e23972>] tda10046_init+0x2d2/0x6c0 [tda1004x]
[  750.807700]  [<f9dde338>] tda827x_initial_init+0x8/0x20 [tda827x]
[  750.807713]  [<f9b2a46b>] dvb_frontend_init+0x2b/0x60 [dvb_core]
[  750.807745]  [<f9b2bad6>] dvb_frontend_thread+0x66/0x2f0 [dvb_core]
[  750.807780]  [complete+64/96] complete+0x40/0x60
[  750.807805]  [<f9b2ba70>] dvb_frontend_thread+0x0/0x2f0 [dvb_core]
[  750.807822]  [kthread+66/112] kthread+0x42/0x70
[  750.807828]  [kthread+0/112] kthread+0x0/0x70
[  750.807841]  [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
[  750.807869]  =======================
[  750.807872] Code: 8b 74 24 20 8b 7c 24 24 83 c4 28 c3 8b 0d 00 0c de f9 85 c9 75 42 be e0 04 de f9 81 c7 0c 01 00 00 b9 33 00 00 00 f3 a5 8b 43 08 <c7> 40 14 50 e3 dd f9 8b 5c 24 1c 31 c0 8b 74 24 20 8b 7c 24 24
[  750.807925] EIP: [<f9dde2a3>] tda827x_probe_version+0xc3/0x130 [tda827x] SS:ESP 0068:ed735f58

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:02:16 -02:00
Michael Krufky
5c82f4497b V4L/DVB (6442): move std if setting from tda8290 to tda827x
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:01:10 -02:00
Michael Krufky
ce1f8bdb0c V4L/DVB (6434): tda827x: fix GPL export on attach function
EXPORT_SYMBOL should have been EXPORT_SYMBOL_GPL

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:01:06 -02:00
Michael Krufky
746d9732db V4L/DVB (6433): Move all tda8275/8275a tuning code from tda8290 module into tda827x module
Add analog tuning support to tda827x dvb_frontend tuner module.

Convert tda8290 module back to native tuner interface.

The tda8290 analog demodulator will be handled the same way as tda9887.
The tuner.ko module (tuner-core) will pass commands to tda8290 via the
tuner_operations interface.  tda8290 will communicate with tda827x via
the dvb_frontend interface, while passing a pointer to a private data
structure.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:01:05 -02:00
Hartmut Hackmann
9971f4f1d3 V4L/DVB (5485): Tda827x: delayed probing of tuner version
When the tuner is attached, the tda10046 is not initilized yet, so it
is searching for its firmware. If the tuner is attached to the tda10046
silent i2c port, a bus collision can occur. Now the version is probed
during the first init or sleep call.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:17 -03:00
Hartmut Hackmann
ede2200d79 V4L/DVB (5369): Fixed 1 byte too short buffer in tda827x.c
- The i2c data buffer in tda827xa_set_params was 1 byte too short
- saa7134-dvb now gives an error mesage if tda827x could not be attached
- coding style fix in tda1004x.c

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:07 -03:00
Hartmut Hackmann
11f65106ad V4L/DVB (5320): Filled in limiting values in tda827x.c
The parameters for minimum and maximum frequency were missing.
Also added mail addresses of the module authors.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:37 -03:00
Hartmut Hackmann
6871758355 V4L/DVB (5319): Set tda827x to sleep mode after attach
This change sets the tda827x to sleep mode right after attach in dvb
mode. It is just to save power. For the same reason, the ADC of the
tda10046 gets turned off in sleep mode.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:36 -03:00
Michael Krufky
8ce47dad8e V4L/DVB (5317): Create tda827x dvb tuner module
The patch moves the tda827x dvb tuning code to a separate module

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:35 -03:00