2008-12-24 14:13:58

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [GIT PATCHES for 2.6.28] V4L/DVB fixes

Linus,

Please pull from:
ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git for_linus

For a few last time driver fixes:

- dib0700: Stop repeating after user stops pushing button
- Cablestar 2 I2C retries (fix CableStar2 support)
- gspca - main: Fix vidioc_s_jpegcomp locking.
- drivers/media Kconfig fix (bugzilla #12204)
- v4l2-compat: test for unlocked_ioctl as well.
- MAINTAINERS: mark linux-uvc-devel as subscribers only
- em28xx: fix NULL pointer dereference in call to VIDIOC_INT_RESET command

Cheers,
Mauro.

---

MAINTAINERS | 2 +-
drivers/media/dvb/b2c2/Kconfig | 2 +-
drivers/media/dvb/b2c2/flexcop-fe-tuner.c | 2 +
drivers/media/dvb/b2c2/flexcop-i2c.c | 6 +++-
drivers/media/dvb/bt8xx/Kconfig | 2 +-
drivers/media/dvb/dvb-usb/Kconfig | 46 +++++++++++++-------------
drivers/media/dvb/dvb-usb/dib0700_devices.c | 6 ++--
drivers/media/dvb/ttpci/Kconfig | 2 +-
drivers/media/video/compat_ioctl32.c | 2 +-
drivers/media/video/cx18/Kconfig | 2 +-
drivers/media/video/cx23885/Kconfig | 4 +-
drivers/media/video/cx88/Kconfig | 2 +-
drivers/media/video/em28xx/em28xx-video.c | 3 +-
drivers/media/video/gspca/gspca.c | 4 +-
drivers/media/video/pvrusb2/Kconfig | 2 +-
drivers/media/video/saa7134/Kconfig | 4 +-
16 files changed, 49 insertions(+), 42 deletions(-)


Antti Seppälä (1):
V4L/DVB (9781): [PATCH] Cablestar 2 I2C retries (fix CableStar2 support)

Devin Heitmueller (2):
V4L/DVB (9780): dib0700: Stop repeating after user stops pushing button
V4L/DVB (9920): em28xx: fix NULL pointer dereference in call to VIDIOC_INT_RESET command

Hans Verkuil (1):
V4L/DVB (9906): v4l2-compat: test for unlocked_ioctl as well.

Jim Paris (1):
V4L/DVB (9875): gspca - main: Fix vidioc_s_jpegcomp locking.

Jiri Slaby (1):
V4L/DVB (9908a): MAINTAINERS: mark linux-uvc-devel as subscribers only

Mauro Carvalho Chehab (1):
V4L/DVB (9885): drivers/media Kconfig's: fix bugzilla #12204

---------------------------------------------------
V4L/DVB development is hosted at http://linuxtv.org


2008-12-25 08:19:50

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes


* Mauro Carvalho Chehab <[email protected]> wrote:

> For a few last time driver fixes:
>
> - drivers/media Kconfig fix (bugzilla #12204)

FYI, v2.6.28 still fails to build with certain configs:

drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio':
(.text+0x3f242): multiple definition of `dib7000p_set_gpio'
drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here
drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration':
(.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration'
drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here
drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref':
(.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref'
drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here
LD drivers/net/built-in.o
make[2]: *** [drivers/media/built-in.o] Error 1

Config attached. The patch below works it around in tip/master. Can test
any patch for this bug.

Ingo

-------------->
>From 85e7c217b8b07013b1b96a62bcb2a7f18bf6820c Mon Sep 17 00:00:00 2001
From: Ingo Molnar <[email protected]>
Date: Sun, 16 Nov 2008 06:27:53 +0100
Subject: [PATCH] dvb/usb: disable

frequent build breakages:

See config-Sun_Nov_16_03_24_32_CET_2008.bad for example.
---
drivers/media/dvb/dvb-usb/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index aec8791..a75ba13 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -1,6 +1,7 @@
config DVB_USB
tristate "Support for various USB DVB devices"
depends on DVB_CORE && USB && I2C && INPUT
+ depends on BROKEN
help
By enabling this you will be able to choose the various supported
USB1.1 and USB2.0 DVB devices.


Attachments:
(No filename) (1.78 kB)
config (64.84 kB)
Download all attachments

2008-12-25 10:31:22

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes


* Ingo Molnar <[email protected]> wrote:

> * Mauro Carvalho Chehab <[email protected]> wrote:
>
> > For a few last time driver fixes:
> >
> > - drivers/media Kconfig fix (bugzilla #12204)
>
> FYI, v2.6.28 still fails to build with certain configs:
>
> drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio':
> (.text+0x3f242): multiple definition of `dib7000p_set_gpio'
> drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here
> drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration':
> (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration'
> drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here
> drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref':
> (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref'
> drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here
> LD drivers/net/built-in.o
> make[2]: *** [drivers/media/built-in.o] Error 1
>
> Config attached. The patch below works it around in tip/master. Can test
> any patch for this bug.

Correction: i also needed the patch below.

Ingo

--------------->
>From 62595544017bd8865adba84f7dd0796b5acc9794 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <[email protected]>
Date: Thu, 25 Dec 2008 11:27:22 +0100
Subject: [PATCH] dvb/usb: work around this crash for now:

[ 8.585448] calling opera1_module_init+0x0/0x40
[ 8.592370] usbcore: registered new interface driver opera1
[ 8.597879] initcall opera1_module_init+0x0/0x40 returned 0 after 5 msecs
[ 8.602341] calling af9005_usb_module_init+0x0/0xb0
[ 8.609143] usbcore: registered new interface driver dvb_usb_af9005
[ 8.613625] BUG: unable to handle kernel paging request at ff100000
[ 8.619858] IP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0
[ 8.619858] *pdpt = 0000000000c6b001 *pde = 0000000000000000
[ 8.623858] Oops: 0000 [#1] SMP
[ 8.623858]
[ 8.623858] Pid: 1, comm: swapper Not tainted (2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770)
[ 8.623858] EIP: 0060:[<c0c21b02>] EFLAGS: 00010286 CPU: 1
[ 8.623858] EIP is at af9005_usb_module_init+0x92/0xb0
[ 8.623858] EAX: ff100000 EBX: 00000000 ECX: 00000000 EDX: f6c55ee8
[ 8.623858] ESI: 00000000 EDI: 00000000 EBP: f6c55f60 ESP: f6c55f54
[ 8.623858] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 8.623858] Process swapper (pid: 1, ti=f6c54000 task=f6c538a0 task.ti=f6c54000)
[ 8.623858] Stack: 00000005 00000000 00000005 f6c55fe0 c0bef7f4 c0a2e531 00000000 00000005
[ 8.623858] 00000000 f6c54000 00d25d95 00000002 c0c50d8c c0c21a70 00000000 6f727200
[ 8.623858] 6f632072 2d206564 00203232 f6c53490 f6c55fac c0125568 f6c57fc0 c0103c66
[ 8.623858] Call Trace:
[ 8.623858] [<c0bef7f4>] ? kernel_init+0x1a4/0x2b0
[ 8.623858] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
[ 8.623858] [<c0125568>] ? schedule_tail+0x18/0x50
[ 8.623858] [<c0103c66>] ? ret_from_fork+0x6/0x20
[ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
[ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
[ 8.623858] [<c0104fa7>] ? kernel_thread_helper+0x7/0x10
[ 8.623858] =======================
[ 8.623858] Code: c3 89 44 24 04 c7 04 24 60 72 ae c0 e8 28 8e 50 ff 89 d8 83 c4 08 5b 5d c3 b8 00 00 10 ff 85 c0 74 c1 b8 00 00 10 ff 85 c0 74 b8 <a1> 00 00 10 ff c7 05 b4 96 b9 c0 00 00 10 ff a3 b8 96 b9 c0 eb
[ 8.635859] EIP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0 SS:ESP 0068:f6c55f54
[ 8.635859] Kernel panic - not syncing: Fatal exception
[ 8.635859] Pid: 1, comm: swapper Tainted: G D 2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770
[ 8.635859] [<c0129cfb>] panic+0x4b/0x110
[ 8.635859] [<c01059b5>] die+0x115/0x180
[ 8.635859] [<c0118cfc>] do_page_fault+0x2ac/0x880
[ 8.635859] [<c01d5abb>] ? sysfs_addrm_finish+0x1b/0x1c0
[ 8.635859] [<c0118a50>] ? do_page_fault+0x0/0x880
[ 8.635859] [<c08d1212>] error_code+0x72/0x80
[ 8.635859] [<c0c21b02>] ? af9005_usb_module_init+0x92/0xb0
[ 8.635859] [<c0bef7f4>] kernel_init+0x1a4/0x2b0
[ 8.635859] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
[ 8.635859] [<c0125568>] ? schedule_tail+0x18/0x50
[ 8.635859] [<c0103c66>] ? ret_from_fork+0x6/0x20

Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/media/dvb/dvb-usb/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 1d1b3c2..448d42b 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -236,6 +236,7 @@ config DVB_USB_OPERA1
config DVB_USB_AF9005
tristate "Afatech AF9005 DVB-T USB1.1 support"
depends on DVB_USB && EXPERIMENTAL
+ depends on BROKEN
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
help

2008-12-26 03:25:34

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes

On Thu, 25 Dec 2008 09:19:07 +0100
Ingo Molnar <[email protected]> wrote:

> FYI, v2.6.28 still fails to build with certain configs:
>
> drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio':
> (.text+0x3f242): multiple definition of `dib7000p_set_gpio'
> drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here
> drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration':
> (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration'
> drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here
> drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref':
> (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref'
> drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here
> LD drivers/net/built-in.o
> make[2]: *** [drivers/media/built-in.o] Error 1
>
> Config attached. The patch below works it around in tip/master. Can test
> any patch for this bug.

Please test the enclosed patch.

Cheers,
Mauro

---
Kbuild: fix compilation when dib7000p is not defined

dib7000p.h defines a few extern symbols when CONFIG_DVB_DIB7000P is not set. since the
header is used on more than one driver, this causes symbol duplication, as pointed by
Ingo Molnar <[email protected]>:

drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio':
(.text+0x3f242): multiple definition of `dib7000p_set_gpio'
drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here
drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration':
(.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration'
drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here
drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref':
(.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref'
drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here
LD drivers/net/built-in.o
make[2]: *** [drivers/media/built-in.o] Error 1

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

diff --git a/drivers/media/dvb/frontends/dib7000p.h b/drivers/media/dvb/frontends/dib7000p.h
index 3e81268..aab8112 100644
--- a/drivers/media/dvb/frontends/dib7000p.h
+++ b/drivers/media/dvb/frontends/dib7000p.h
@@ -66,7 +66,8 @@ struct i2c_adapter *dib7000p_get_i2c_master(struct dvb_frontend *fe,
return NULL;
}

-extern int dib7000p_i2c_enumeration(struct i2c_adapter *i2c,
+static inline
+int dib7000p_i2c_enumeration(struct i2c_adapter *i2c,
int no_of_demods, u8 default_addr,
struct dib7000p_config cfg[])
{
@@ -74,13 +75,15 @@ extern int dib7000p_i2c_enumeration(struct i2c_adapter *i2c,
return -ENODEV;
}

-extern int dib7000p_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val)
+static inline
+int dib7000p_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
return -ENODEV;
}

-extern int dib7000p_set_wbd_ref(struct dvb_frontend *fe, u16 value)
+static inline
+int dib7000p_set_wbd_ref(struct dvb_frontend *fe, u16 value)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
return -ENODEV;

2008-12-26 09:03:07

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes


* Mauro Carvalho Chehab <[email protected]> wrote:

> On Thu, 25 Dec 2008 09:19:07 +0100
> Ingo Molnar <[email protected]> wrote:
>
> > FYI, v2.6.28 still fails to build with certain configs:
> >
> > drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio':
> > (.text+0x3f242): multiple definition of `dib7000p_set_gpio'
> > drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here
> > drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration':
> > (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration'
> > drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here
> > drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref':
> > (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref'
> > drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here
> > LD drivers/net/built-in.o
> > make[2]: *** [drivers/media/built-in.o] Error 1
> >
> > Config attached. The patch below works it around in tip/master. Can test
> > any patch for this bug.
>
> Please test the enclosed patch.

thanks Mauro - i've reverted all my local drivers/media/dvb/ hacks (see
them below) and applied your fix, and started testing things. Will let you
know if i run into any other kind of build or boot trouble.

Ingo

--------------->

diff --git a/drivers/media/dvb/dm1105/Kconfig b/drivers/media/dvb/dm1105/Kconfig
index 1332301..d5fc581 100644
--- a/drivers/media/dvb/dm1105/Kconfig
+++ b/drivers/media/dvb/dm1105/Kconfig
@@ -7,6 +7,8 @@ config DVB_DM1105
select DVB_STB6000 if !DVB_FE_CUSTOMISE
select DVB_CX24116 if !DVB_FE_CUSTOMISE
select DVB_SI21XX if !DVB_FE_CUSTOMISE
+ # build failure
+ depends on 0
help
Support for cards based on the SDMC DM1105 PCI chip like
DvbWorld 2002
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 49f7b20..448d42b 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -1,6 +1,7 @@
config DVB_USB
tristate "Support for various USB DVB devices"
depends on DVB_CORE && USB && I2C && INPUT
+ depends on BROKEN
help
By enabling this you will be able to choose the various supported
USB1.1 and USB2.0 DVB devices.
@@ -235,6 +236,7 @@ config DVB_USB_OPERA1
config DVB_USB_AF9005
tristate "Afatech AF9005 DVB-T USB1.1 support"
depends on DVB_USB && EXPERIMENTAL
+ depends on BROKEN
select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
help

2008-12-26 13:09:16

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes

Luca,

Could you please verify this issue?

Ingo,
What .config you used to get this error?

Cheers,
Mauro.

On Thu, 25 Dec 2008 11:30:50 +0100
Ingo Molnar <[email protected]> wrote:

> i also needed the patch below.
>
> Ingo
> --------------->
> From 62595544017bd8865adba84f7dd0796b5acc9794 Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <[email protected]>
> Date: Thu, 25 Dec 2008 11:27:22 +0100
> Subject: [PATCH] dvb/usb: work around this crash for now:
>
> [ 8.585448] calling opera1_module_init+0x0/0x40
> [ 8.592370] usbcore: registered new interface driver opera1
> [ 8.597879] initcall opera1_module_init+0x0/0x40 returned 0 after 5 msecs
> [ 8.602341] calling af9005_usb_module_init+0x0/0xb0
> [ 8.609143] usbcore: registered new interface driver dvb_usb_af9005
> [ 8.613625] BUG: unable to handle kernel paging request at ff100000
> [ 8.619858] IP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0
> [ 8.619858] *pdpt = 0000000000c6b001 *pde = 0000000000000000
> [ 8.623858] Oops: 0000 [#1] SMP
> [ 8.623858]
> [ 8.623858] Pid: 1, comm: swapper Not tainted (2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770)
> [ 8.623858] EIP: 0060:[<c0c21b02>] EFLAGS: 00010286 CPU: 1
> [ 8.623858] EIP is at af9005_usb_module_init+0x92/0xb0
> [ 8.623858] EAX: ff100000 EBX: 00000000 ECX: 00000000 EDX: f6c55ee8
> [ 8.623858] ESI: 00000000 EDI: 00000000 EBP: f6c55f60 ESP: f6c55f54
> [ 8.623858] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
> [ 8.623858] Process swapper (pid: 1, ti=f6c54000 task=f6c538a0 task.ti=f6c54000)
> [ 8.623858] Stack: 00000005 00000000 00000005 f6c55fe0 c0bef7f4 c0a2e531 00000000 00000005
> [ 8.623858] 00000000 f6c54000 00d25d95 00000002 c0c50d8c c0c21a70 00000000 6f727200
> [ 8.623858] 6f632072 2d206564 00203232 f6c53490 f6c55fac c0125568 f6c57fc0 c0103c66
> [ 8.623858] Call Trace:
> [ 8.623858] [<c0bef7f4>] ? kernel_init+0x1a4/0x2b0
> [ 8.623858] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
> [ 8.623858] [<c0125568>] ? schedule_tail+0x18/0x50
> [ 8.623858] [<c0103c66>] ? ret_from_fork+0x6/0x20
> [ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
> [ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
> [ 8.623858] [<c0104fa7>] ? kernel_thread_helper+0x7/0x10
> [ 8.623858] =======================
> [ 8.623858] Code: c3 89 44 24 04 c7 04 24 60 72 ae c0 e8 28 8e 50 ff 89 d8 83 c4 08 5b 5d c3 b8 00 00 10 ff 85 c0 74 c1 b8 00 00 10 ff 85 c0 74 b8 <a1> 00 00 10 ff c7 05 b4 96 b9 c0 00 00 10 ff a3 b8 96 b9 c0 eb
> [ 8.635859] EIP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0 SS:ESP 0068:f6c55f54
> [ 8.635859] Kernel panic - not syncing: Fatal exception
> [ 8.635859] Pid: 1, comm: swapper Tainted: G D 2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770
> [ 8.635859] [<c0129cfb>] panic+0x4b/0x110
> [ 8.635859] [<c01059b5>] die+0x115/0x180
> [ 8.635859] [<c0118cfc>] do_page_fault+0x2ac/0x880
> [ 8.635859] [<c01d5abb>] ? sysfs_addrm_finish+0x1b/0x1c0
> [ 8.635859] [<c0118a50>] ? do_page_fault+0x0/0x880
> [ 8.635859] [<c08d1212>] error_code+0x72/0x80
> [ 8.635859] [<c0c21b02>] ? af9005_usb_module_init+0x92/0xb0
> [ 8.635859] [<c0bef7f4>] kernel_init+0x1a4/0x2b0
> [ 8.635859] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
> [ 8.635859] [<c0125568>] ? schedule_tail+0x18/0x50
> [ 8.635859] [<c0103c66>] ? ret_from_fork+0x6/0x20
>
> Signed-off-by: Ingo Molnar <[email protected]>
> ---
> drivers/media/dvb/dvb-usb/Kconfig | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
> index 1d1b3c2..448d42b 100644
> --- a/drivers/media/dvb/dvb-usb/Kconfig
> +++ b/drivers/media/dvb/dvb-usb/Kconfig
> @@ -236,6 +236,7 @@ config DVB_USB_OPERA1
> config DVB_USB_AF9005
> tristate "Afatech AF9005 DVB-T USB1.1 support"
> depends on DVB_USB && EXPERIMENTAL
> + depends on BROKEN
> select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
> select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
> help




Cheers,
Mauro

2008-12-26 13:14:13

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes

Hi Ingo,

On Fri, 26 Dec 2008 10:02:20 +0100
Ingo Molnar <[email protected]> wrote:

> > Please test the enclosed patch.
>
> thanks Mauro - i've reverted all my local drivers/media/dvb/ hacks (see
> them below) and applied your fix, and started testing things. Will let you
> know if i run into any other kind of build or boot trouble.

Thanks.

I think both dm1105 and dib0700p Kbuild troubles have already been fixed.
However, the opera1/af9005 runtime issue seems to be something different.
I suspect that it is related on having af9005-remote or not.

Let's see if Luca can help us with this issue.

Cheers,
Mauro

2008-12-26 13:25:10

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()


* Mauro Carvalho Chehab <[email protected]> wrote:

> Hi Ingo,
>
> On Fri, 26 Dec 2008 10:02:20 +0100
> Ingo Molnar <[email protected]> wrote:
>
> > > Please test the enclosed patch.
> >
> > thanks Mauro - i've reverted all my local drivers/media/dvb/ hacks (see
> > them below) and applied your fix, and started testing things. Will let you
> > know if i run into any other kind of build or boot trouble.
>
> Thanks.
>
> I think both dm1105 and dib0700p Kbuild troubles have already been
> fixed. However, the opera1/af9005 runtime issue seems to be something
> different. I suspect that it is related on having af9005-remote or not.
>
> Let's see if Luca can help us with this issue.

here's that commit again, standalone, with the crash in
af9005_usb_module_init() embedded. Unfortunately i dont have the .config
anymore and the crash log is half a year old. I have re-enabled the driver
in tip/master so if the crash still triggers i should see it within 1-2
days and i can do a fuller bugreport.

Ingo

----------------------->
>From 7120b52e90e1837e09bb4621f105022f940b856a Mon Sep 17 00:00:00 2001
From: Ingo Molnar <[email protected]>
Date: Sat, 21 Jun 2008 08:16:39 +0200
Subject: [PATCH] work around this crash for now:

[ 8.585448] calling opera1_module_init+0x0/0x40
[ 8.592370] usbcore: registered new interface driver opera1
[ 8.597879] initcall opera1_module_init+0x0/0x40 returned 0 after 5 msecs
[ 8.602341] calling af9005_usb_module_init+0x0/0xb0
[ 8.609143] usbcore: registered new interface driver dvb_usb_af9005
[ 8.613625] BUG: unable to handle kernel paging request at ff100000
[ 8.619858] IP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0
[ 8.619858] *pdpt = 0000000000c6b001 *pde = 0000000000000000
[ 8.623858] Oops: 0000 [#1] SMP
[ 8.623858]
[ 8.623858] Pid: 1, comm: swapper Not tainted (2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770)
[ 8.623858] EIP: 0060:[<c0c21b02>] EFLAGS: 00010286 CPU: 1
[ 8.623858] EIP is at af9005_usb_module_init+0x92/0xb0
[ 8.623858] EAX: ff100000 EBX: 00000000 ECX: 00000000 EDX: f6c55ee8
[ 8.623858] ESI: 00000000 EDI: 00000000 EBP: f6c55f60 ESP: f6c55f54
[ 8.623858] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 8.623858] Process swapper (pid: 1, ti=f6c54000 task=f6c538a0 task.ti=f6c54000)
[ 8.623858] Stack: 00000005 00000000 00000005 f6c55fe0 c0bef7f4 c0a2e531 00000000 00000005
[ 8.623858] 00000000 f6c54000 00d25d95 00000002 c0c50d8c c0c21a70 00000000 6f727200
[ 8.623858] 6f632072 2d206564 00203232 f6c53490 f6c55fac c0125568 f6c57fc0 c0103c66
[ 8.623858] Call Trace:
[ 8.623858] [<c0bef7f4>] ? kernel_init+0x1a4/0x2b0
[ 8.623858] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
[ 8.623858] [<c0125568>] ? schedule_tail+0x18/0x50
[ 8.623858] [<c0103c66>] ? ret_from_fork+0x6/0x20
[ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
[ 8.623858] [<c0bef650>] ? kernel_init+0x0/0x2b0
[ 8.623858] [<c0104fa7>] ? kernel_thread_helper+0x7/0x10
[ 8.623858] =======================
[ 8.623858] Code: c3 89 44 24 04 c7 04 24 60 72 ae c0 e8 28 8e 50 ff 89 d8 83 c4 08 5b 5d c3 b8 00 00 10 ff 85 c0 74 c1 b8 00 00 10 ff 85 c0 74 b8 <a1> 00 00 10 ff c7 05 b4 96 b9 c0 00 00 10 ff a3 b8 96 b9 c0 eb
[ 8.635859] EIP: [<c0c21b02>] af9005_usb_module_init+0x92/0xb0 SS:ESP 0068:f6c55f54
[ 8.635859] Kernel panic - not syncing: Fatal exception
[ 8.635859] Pid: 1, comm: swapper Tainted: G D 2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770
[ 8.635859] [<c0129cfb>] panic+0x4b/0x110
[ 8.635859] [<c01059b5>] die+0x115/0x180
[ 8.635859] [<c0118cfc>] do_page_fault+0x2ac/0x880
[ 8.635859] [<c01d5abb>] ? sysfs_addrm_finish+0x1b/0x1c0
[ 8.635859] [<c0118a50>] ? do_page_fault+0x0/0x880
[ 8.635859] [<c08d1212>] error_code+0x72/0x80
[ 8.635859] [<c0c21b02>] ? af9005_usb_module_init+0x92/0xb0
[ 8.635859] [<c0bef7f4>] kernel_init+0x1a4/0x2b0
[ 8.635859] [<c0c21a70>] ? af9005_usb_module_init+0x0/0xb0
[ 8.635859] [<c0125568>] ? schedule_tail+0x18/0x50
[ 8.635859] [<c0103c66>] ? ret_from_fork+0x6/0x20

Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/media/dvb/dvb-usb/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig
index 3c13bcf..661d361 100644
--- a/drivers/media/dvb/dvb-usb/Kconfig
+++ b/drivers/media/dvb/dvb-usb/Kconfig
@@ -235,6 +235,7 @@ config DVB_USB_OPERA1
config DVB_USB_AF9005
tristate "Afatech AF9005 DVB-T USB1.1 support"
depends on DVB_USB && EXPERIMENTAL
+ depends on 0
select MEDIA_TUNER_MT2060 if !DVB_FE_CUSTOMISE
select MEDIA_TUNER_QT1010 if !DVB_FE_CUSTOMISE
help

2008-12-26 13:46:34

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()

On Fri, 26 Dec 2008 14:24:26 +0100
Ingo Molnar <[email protected]> wrote:

> here's that commit again, standalone, with the crash in
> af9005_usb_module_init() embedded. Unfortunately i dont have the .config
> anymore and the crash log is half a year old. I have re-enabled the driver
> in tip/master so if the crash still triggers i should see it within 1-2
> days and i can do a fuller bugreport.

Ok. Let's wait for your next round of tests on it. Maybe this happened at the
time the dvb register interface has changed a while ago. If so, the bug should
already have been fixed by now.

--

Cheers,
Mauro

2008-12-26 16:10:32

by Luca Olivetti

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes

El Fri, 26 Dec 2008 11:08:33 -0200
Mauro Carvalho Chehab <[email protected]> escribi?:
> Luca,
>
> Could you please verify this issue?

No, I don't have 2.6.28, but I guess that maybe once usb_register is
called the dvb-usb subsystem asynchronously (is that an smp system?)
starts polling the remote before the rc_decode function pointer has been
initialized.
Could you try to initialize it to NULL before calling usb_register?

Bye
Luca

>
> Ingo,
> What .config you used to get this error?
>
> Cheers,
> Mauro.
>
> On Thu, 25 Dec 2008 11:30:50 +0100
> Ingo Molnar <[email protected]> wrote:
>
> > i also needed the patch below.
> >
> > Ingo
> > --------------->
> > From 62595544017bd8865adba84f7dd0796b5acc9794 Mon Sep 17 00:00:00
> > 2001 From: Ingo Molnar <[email protected]>
> > Date: Thu, 25 Dec 2008 11:27:22 +0100
> > Subject: [PATCH] dvb/usb: work around this crash for now:
> >
> > [ 8.585448] calling opera1_module_init+0x0/0x40
> > [ 8.592370] usbcore: registered new interface driver opera1
> > [ 8.597879] initcall opera1_module_init+0x0/0x40 returned 0
> > after 5 msecs [ 8.602341] calling
> > af9005_usb_module_init+0x0/0xb0 [ 8.609143] usbcore: registered
> > new interface driver dvb_usb_af9005 [ 8.613625] BUG: unable to
> > handle kernel paging request at ff100000 [ 8.619858] IP:
> > [<c0c21b02>] af9005_usb_module_init+0x92/0xb0 [ 8.619858] *pdpt
> > = 0000000000c6b001 *pde = 0000000000000000 [ 8.623858] Oops:
> > 0000 [#1] SMP [ 8.623858]
> > [ 8.623858] Pid: 1, comm: swapper Not tainted
> > (2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770) [ 8.623858] EIP:
> > 0060:[<c0c21b02>] EFLAGS: 00010286 CPU: 1 [ 8.623858] EIP is at
> > af9005_usb_module_init+0x92/0xb0 [ 8.623858] EAX: ff100000 EBX:
> > 00000000 ECX: 00000000 EDX: f6c55ee8 [ 8.623858] ESI: 00000000
> > EDI: 00000000 EBP: f6c55f60 ESP: f6c55f54 [ 8.623858] DS: 007b
> > ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 8.623858] Process swapper
> > (pid: 1, ti=f6c54000 task=f6c538a0 task.ti=f6c54000) [ 8.623858]
> > Stack: 00000005 00000000 00000005 f6c55fe0 c0bef7f4 c0a2e531
> > 00000000 00000005 [ 8.623858] 00000000 f6c54000 00d25d95
> > 00000002 c0c50d8c c0c21a70 00000000 6f727200 [ 8.623858]
> > 6f632072 2d206564 00203232 f6c53490 f6c55fac c0125568 f6c57fc0
> > c0103c66 [ 8.623858] Call Trace: [ 8.623858] [<c0bef7f4>] ?
> > kernel_init+0x1a4/0x2b0 [ 8.623858] [<c0c21a70>] ?
> > af9005_usb_module_init+0x0/0xb0 [ 8.623858] [<c0125568>] ?
> > schedule_tail+0x18/0x50 [ 8.623858] [<c0103c66>] ?
> > ret_from_fork+0x6/0x20 [ 8.623858] [<c0bef650>] ?
> > kernel_init+0x0/0x2b0 [ 8.623858] [<c0bef650>] ?
> > kernel_init+0x0/0x2b0 [ 8.623858] [<c0104fa7>] ?
> > kernel_thread_helper+0x7/0x10 [ 8.623858]
> > ======================= [ 8.623858] Code: c3 89 44 24 04 c7 04
> > 24 60 72 ae c0 e8 28 8e 50 ff 89 d8 83 c4 08 5b 5d c3 b8 00 00 10
> > ff 85 c0 74 c1 b8 00 00 10 ff 85 c0 74 b8 <a1> 00 00 10 ff c7 05 b4
> > 96 b9 c0 00 00 10 ff a3 b8 96 b9 c0 eb [ 8.635859] EIP:
> > [<c0c21b02>] af9005_usb_module_init+0x92/0xb0 SS:ESP 0068:f6c55f54
> > [ 8.635859] Kernel panic - not syncing: Fatal exception
> > [ 8.635859] Pid: 1, comm: swapper Tainted: G D
> > 2.6.26-rc6-tip-00382-g5bf10cd-dirty #8770 [ 8.635859]
> > [<c0129cfb>] panic+0x4b/0x110 [ 8.635859] [<c01059b5>]
> > die+0x115/0x180 [ 8.635859] [<c0118cfc>]
> > do_page_fault+0x2ac/0x880 [ 8.635859] [<c01d5abb>] ?
> > sysfs_addrm_finish+0x1b/0x1c0 [ 8.635859] [<c0118a50>] ?
> > do_page_fault+0x0/0x880 [ 8.635859] [<c08d1212>]
> > error_code+0x72/0x80 [ 8.635859] [<c0c21b02>] ?
> > af9005_usb_module_init+0x92/0xb0 [ 8.635859] [<c0bef7f4>]
> > kernel_init+0x1a4/0x2b0 [ 8.635859] [<c0c21a70>] ?
> > af9005_usb_module_init+0x0/0xb0 [ 8.635859] [<c0125568>] ?
> > schedule_tail+0x18/0x50 [ 8.635859] [<c0103c66>] ?
> > ret_from_fork+0x6/0x20
> >
> > Signed-off-by: Ingo Molnar <[email protected]>
> > ---
> > drivers/media/dvb/dvb-usb/Kconfig | 1 +
> > 1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/media/dvb/dvb-usb/Kconfig
> > b/drivers/media/dvb/dvb-usb/Kconfig index 1d1b3c2..448d42b 100644
> > --- a/drivers/media/dvb/dvb-usb/Kconfig
> > +++ b/drivers/media/dvb/dvb-usb/Kconfig
> > @@ -236,6 +236,7 @@ config DVB_USB_OPERA1
> > config DVB_USB_AF9005
> > tristate "Afatech AF9005 DVB-T USB1.1 support"
> > depends on DVB_USB && EXPERIMENTAL
> > + depends on BROKEN
> > select MEDIA_TUNER_MT2060 if !MEDIA_TUNER_CUSTOMIZE
> > select MEDIA_TUNER_QT1010 if !MEDIA_TUNER_CUSTOMIZE
> > help
>
>
>
>
> Cheers,
> Mauro

2008-12-27 12:00:58

by Ingo Molnar

[permalink] [raw]
Subject: [patch] fix warning in drivers/media/dvb/dvb-usb/af9005-fe.c


* Ingo Molnar <[email protected]> wrote:

> here's that commit again, standalone, with the crash in
> af9005_usb_module_init() embedded. Unfortunately i dont have the .config
> anymore and the crash log is half a year old. I have re-enabled the
> driver in tip/master so if the crash still triggers i should see it
> within 1-2 days and i can do a fuller bugreport.

no crashes or build failures so far, so it's looking good!

There's one new compiler warning that i had to fix - but that's all. Find
the patch attached below.

Btw., there's a handful of warning fixes i carry in tip/warnings/* topic
branches - you can find them in tip/master via:

http://people.redhat.com/mingo/tip.git/README

the ones affecting drivers/media/ are:

f3e67e2: fix warning in drivers/media/video/usbvision/usbvision-i2c.c
491af31: fix warning in drivers/media/video/cx18/cx18-mailbox.c
728342a: fix warnings in drivers/media/dvb/ttusb-dec/ttusb_dec.c
4dda565: fix warning in drivers/media/dvb/frontends/drx397xD.c
a2e4f4a: fix warning in drivers/media/common/tuners/mxl5007t.c
8317adf: fix warning in drivers/media/dvb/dvb-usb/anysee.c

this one appears to be GCC warning about a real bug:

8317adf: fix warning in drivers/media/dvb/dvb-usb/anysee.c

the others are fixes for false positives - i reviewed the affected code
paths and each commit log includes the analysis about why it is a false
positive.

You might ask, how did these drivers/media/ commits get into tip/master?
It is a side-effect of us keeping tip/master continuously -Werror clean
for 32-bit and 64-bit x86 on allyes/allno/allmod and randconfigs as well,
Those warning fixes (for the whole kernel - including drivers/media/) go
into the tip/warnings/* branches.

Please have a look and git-cherry-pick the above commits if they are still
relevant to your tree and if you agree with them. Thanks,

Ingo

------------------------->
Subject: fix warning in drivers/media/dvb/dvb-usb/af9005-fe.c
From: Ingo Molnar <[email protected]>
Date: Sat Dec 27 12:49:36 CET 2008

this warning:

drivers/media/dvb/dvb-usb/af9005-fe.c: In function ‘af9005_fe_refresh_state’:
drivers/media/dvb/dvb-usb/af9005-fe.c:223: warning: ‘loc_abort_count’ may be used uninitialized in this function

triggers because GCC does not recognize the (complex but correct) error flow
between:

- af9005_fe_refresh_state() and af9005_get_post_vit_err_cw_count()

Annotate it.

Signed-off-by: Ingo Molnar <[email protected]>
---
---
drivers/media/dvb/dvb-usb/af9005-fe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/drivers/media/dvb/dvb-usb/af9005-fe.c
===================================================================
--- linux.orig/drivers/media/dvb/dvb-usb/af9005-fe.c
+++ linux/drivers/media/dvb/dvb-usb/af9005-fe.c
@@ -220,7 +220,7 @@ static int af9005_get_post_vit_ber(struc
u16 * abort_count)
{
u32 loc_cw_count = 0, loc_err_count;
- u16 loc_abort_count;
+ u16 uninitialized_var(loc_abort_count);
int ret;

ret =

2008-12-27 16:41:23

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()


* Ingo Molnar <[email protected]> wrote:

> [...] I have re-enabled the driver in tip/master [...]

ok, just got this build failure:

drivers/built-in.o: In function `dm1105_probe':
dm1105.c:(.devinit.text+0x2298b): undefined reference to `cx24116_attach'
make: *** [.tmp_vmlinux1] Error 1

config attached. Can test any fix patch.

Ingo


Attachments:
(No filename) (340.00 B)
config (64.47 kB)
Download all attachments

2008-12-27 17:11:47

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()

[Ingo Molnar - Sat, Dec 27, 2008 at 05:40:20PM +0100]
|
| * Ingo Molnar <[email protected]> wrote:
|
| > [...] I have re-enabled the driver in tip/master [...]
|
| ok, just got this build failure:
|
| drivers/built-in.o: In function `dm1105_probe':
| dm1105.c:(.devinit.text+0x2298b): undefined reference to `cx24116_attach'
| make: *** [.tmp_vmlinux1] Error 1
|
| config attached. Can test any fix patch.
|
| Ingo
|

Something like that?

- Cyrill -

---
drivers/media/dvb/frontends/cx24116.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
===================================================================
--- linux-2.6.git.orig/drivers/media/dvb/frontends/cx24116.h
+++ linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
@@ -37,7 +37,8 @@ struct cx24116_config {
u8 mpg_clk_pos_pol:0x02;
};

-#if defined(CONFIG_DVB_CX24116) || defined(CONFIG_DVB_CX24116_MODULE)
+#if defined(CONFIG_DVB_CX24116) || \
+ (defined(CONFIG_DVB_CX24116_MODULE) && defined(MODULE))
extern struct dvb_frontend *cx24116_attach(
const struct cx24116_config *config,
struct i2c_adapter *i2c);

2008-12-27 17:19:45

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()

[Cyrill Gorcunov - Sat, Dec 27, 2008 at 08:11:22PM +0300]
| [Ingo Molnar - Sat, Dec 27, 2008 at 05:40:20PM +0100]
| |
| | * Ingo Molnar <[email protected]> wrote:
| |
| | > [...] I have re-enabled the driver in tip/master [...]
| |
| | ok, just got this build failure:
| |
| | drivers/built-in.o: In function `dm1105_probe':
| | dm1105.c:(.devinit.text+0x2298b): undefined reference to `cx24116_attach'
| | make: *** [.tmp_vmlinux1] Error 1
| |
| | config attached. Can test any fix patch.
| |
| | Ingo
| |
|
| Something like that?
|
| - Cyrill -
|
| ---
| drivers/media/dvb/frontends/cx24116.h | 3 ++-
| 1 file changed, 2 insertions(+), 1 deletion(-)
|
| Index: linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
| ===================================================================
| --- linux-2.6.git.orig/drivers/media/dvb/frontends/cx24116.h
| +++ linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
| @@ -37,7 +37,8 @@ struct cx24116_config {
| u8 mpg_clk_pos_pol:0x02;
| };
|
| -#if defined(CONFIG_DVB_CX24116) || defined(CONFIG_DVB_CX24116_MODULE)
| +#if defined(CONFIG_DVB_CX24116) || \
| + (defined(CONFIG_DVB_CX24116_MODULE) && defined(MODULE))
| extern struct dvb_frontend *cx24116_attach(
| const struct cx24116_config *config,
| struct i2c_adapter *i2c);

hmm... don't think it will help, please ignore the patch.

- Cyrill -

2008-12-27 18:01:46

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()

[Cyrill Gorcunov - Sat, Dec 27, 2008 at 08:19:33PM +0300]
...
| | | config attached. Can test any fix patch.
| | |
| | | Ingo
| | |
| |
| | Something like that?
| |
| | - Cyrill -
| |
| | ---
| | drivers/media/dvb/frontends/cx24116.h | 3 ++-
| | 1 file changed, 2 insertions(+), 1 deletion(-)
| |
| | Index: linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
| | ===================================================================
| | --- linux-2.6.git.orig/drivers/media/dvb/frontends/cx24116.h
| | +++ linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
| | @@ -37,7 +37,8 @@ struct cx24116_config {
| | u8 mpg_clk_pos_pol:0x02;
| | };
| |
| | -#if defined(CONFIG_DVB_CX24116) || defined(CONFIG_DVB_CX24116_MODULE)
| | +#if defined(CONFIG_DVB_CX24116) || \
| | + (defined(CONFIG_DVB_CX24116_MODULE) && defined(MODULE))
| | extern struct dvb_frontend *cx24116_attach(
| | const struct cx24116_config *config,
| | struct i2c_adapter *i2c);
|
| hmm... don't think it will help, please ignore the patch.
|
| - Cyrill -

Heh, actually it should help I believe (i don't know how it possible
but I forgot about -D gcc option and was searching for MODULE
definition, need some coffee :)

- Cyrill -

2008-12-27 20:23:18

by Andy Walls

[permalink] [raw]
Subject: Re: [v4l-dvb-maintainer] [patch] fix warning in drivers/media/dvb/dvb-usb/af9005-fe.c

On Sat, 2008-12-27 at 13:00 +0100, Ingo Molnar wrote:
> * Ingo Molnar <[email protected]> wrote:
>
> Btw., there's a handful of warning fixes i carry in tip/warnings/* topic
> branches - you can find them in tip/master via:
>
> http://people.redhat.com/mingo/tip.git/README
>
> the ones affecting drivers/media/ are:
>
> f3e67e2: fix warning in drivers/media/video/usbvision/usbvision-i2c.c
> 491af31: fix warning in drivers/media/video/cx18/cx18-mailbox.c

Mauro & Ingo,

If the cx18 warning message is fixed in the following diff, that I
culled from a LKML posting by Ingo on 29 Nov, then Ingo's patch for
cx18-mailbox.c should be overcome by events in the latest v4l-dvb repo.
"req" is now always assigned a value before it is ever used. (Sorry, I
didn't want to pull the > 100 MB git/tip down over my dialup connection
to verify this was the item in question).


diff --git a/drivers/media/video/cx18/cx18-mailbox.c b/drivers/media/video/cx18/cx18-mailbox.c
index acff7df..5c847be 100644
--- a/drivers/media/video/cx18/cx18-mailbox.c
+++ b/drivers/media/video/cx18/cx18-mailbox.c
@@ -184,7 +184,7 @@ long cx18_mb_ack(struct cx18 *cx, const struct cx18_mailbox *mb)
static int cx18_api_call(struct cx18 *cx, u32 cmd, int args, u32 data[])
{
const struct cx18_api_info *info = find_api_info(cmd);
- u32 state = 0, irq = 0, req, oldreq, err;
+ u32 state = 0, irq = 0, uninitialized_var(req), oldreq, err;
struct cx18_mailbox __iomem *mb;
wait_queue_head_t *waitq;
int timeout = 100;



> 728342a: fix warnings in drivers/media/dvb/ttusb-dec/ttusb_dec.c
> 4dda565: fix warning in drivers/media/dvb/frontends/drx397xD.c
> a2e4f4a: fix warning in drivers/media/common/tuners/mxl5007t.c
> 8317adf: fix warning in drivers/media/dvb/dvb-usb/anysee.c
>
> this one appears to be GCC warning about a real bug:
>
> 8317adf: fix warning in drivers/media/dvb/dvb-usb/anysee.c
>
> the others are fixes for false positives - i reviewed the affected code
> paths and each commit log includes the analysis about why it is a false
> positive.

> Please have a look and git-cherry-pick the above commits if they are still
> relevant to your tree and if you agree with them. Thanks,
>
> Ingo

Regards,
Andy

2008-12-30 19:33:55

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()


On Sat, 27 Dec 2008 20:11:22 +0300
Cyrill Gorcunov <[email protected]> wrote:

> [Ingo Molnar - Sat, Dec 27, 2008 at 05:40:20PM +0100]
> |
> | * Ingo Molnar <[email protected]> wrote:
> |
> | > [...] I have re-enabled the driver in tip/master [...]
> |
> | ok, just got this build failure:
> |
> | drivers/built-in.o: In function `dm1105_probe':
> | dm1105.c:(.devinit.text+0x2298b): undefined reference to `cx24116_attach'
> | make: *** [.tmp_vmlinux1] Error 1
> |
> | config attached. Can test any fix patch.
> |
> | Ingo
> |
>
> Something like that?

I suspect that this will work. Could you please send your SOB?


Cheers,
Mauro

2008-12-30 19:40:20

by Cyrill Gorcunov

[permalink] [raw]
Subject: Re: [GIT PATCHES for 2.6.28] V4L/DVB fixes, crash in af9005_usb_module_init()

[Mauro Carvalho Chehab - Tue, Dec 30, 2008 at 05:33:10PM -0200]
|
| On Sat, 27 Dec 2008 20:11:22 +0300
| Cyrill Gorcunov <[email protected]> wrote:
|
| > [Ingo Molnar - Sat, Dec 27, 2008 at 05:40:20PM +0100]
| > |
| > | * Ingo Molnar <[email protected]> wrote:
| > |
| > | > [...] I have re-enabled the driver in tip/master [...]
| > |
| > | ok, just got this build failure:
| > |
| > | drivers/built-in.o: In function `dm1105_probe':
| > | dm1105.c:(.devinit.text+0x2298b): undefined reference to `cx24116_attach'
| > | make: *** [.tmp_vmlinux1] Error 1
| > |
| > | config attached. Can test any fix patch.
| > |
| > | Ingo
| > |
| >
| > Something like that?
|
| I suspect that this will work. Could you please send your SOB?
|

Without problem :)

---
Subject: [PATCH] DVB: cx24116 - build fix

Add missed MODULE check to eliminate inapropriate
declaration being choosed which causes a build error.

Signed-off-by: Cyrill Gorcunov <[email protected]>
---

drivers/media/dvb/frontends/cx24116.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
===================================================================
--- linux-2.6.git.orig/drivers/media/dvb/frontends/cx24116.h
+++ linux-2.6.git/drivers/media/dvb/frontends/cx24116.h
@@ -37,7 +37,8 @@ struct cx24116_config {
u8 mpg_clk_pos_pol:0x02;
};

-#if defined(CONFIG_DVB_CX24116) || defined(CONFIG_DVB_CX24116_MODULE)
+#if defined(CONFIG_DVB_CX24116) || \
+ (defined(CONFIG_DVB_CX24116_MODULE) && defined(MODULE))
extern struct dvb_frontend *cx24116_attach(
const struct cx24116_config *config,
struct i2c_adapter *i2c);

2008-12-30 19:49:42

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [v4l-dvb-maintainer] [patch] fix warning in drivers/media/dvb/dvb-usb/af9005-fe.c


On Sat, 27 Dec 2008 15:24:34 -0500
Andy Walls <[email protected]> wrote:

> On Sat, 2008-12-27 at 13:00 +0100, Ingo Molnar wrote:
> > * Ingo Molnar <[email protected]> wrote:
> >
> > Btw., there's a handful of warning fixes i carry in tip/warnings/* topic
> > branches - you can find them in tip/master via:
> >
> > http://people.redhat.com/mingo/tip.git/README
> >
> > the ones affecting drivers/media/ are:
> >
> > f3e67e2: fix warning in drivers/media/video/usbvision/usbvision-i2c.c
> > 491af31: fix warning in drivers/media/video/cx18/cx18-mailbox.c
>
> Mauro & Ingo,
>
> If the cx18 warning message is fixed in the following diff, that I
> culled from a LKML posting by Ingo on 29 Nov, then Ingo's patch for
> cx18-mailbox.c should be overcome by events in the latest v4l-dvb repo.
> "req" is now always assigned a value before it is ever used. (Sorry, I
> didn't want to pull the > 100 MB git/tip down over my dialup connection
> to verify this was the item in question).
>
>
> diff --git a/drivers/media/video/cx18/cx18-mailbox.c b/drivers/media/video/cx18/cx18-mailbox.c
> index acff7df..5c847be 100644
> --- a/drivers/media/video/cx18/cx18-mailbox.c
> +++ b/drivers/media/video/cx18/cx18-mailbox.c
> @@ -184,7 +184,7 @@ long cx18_mb_ack(struct cx18 *cx, const struct cx18_mailbox *mb)
> static int cx18_api_call(struct cx18 *cx, u32 cmd, int args, u32 data[])
> {
> const struct cx18_api_info *info = find_api_info(cmd);
> - u32 state = 0, irq = 0, req, oldreq, err;
> + u32 state = 0, irq = 0, uninitialized_var(req), oldreq, err;
> struct cx18_mailbox __iomem *mb;
> wait_queue_head_t *waitq;
> int timeout = 100;

This patch also didn't apply.

I also couldn't reproduce this warning here [1].

[1] gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)

Ingo,

I've added almost 600 patches on my merge tree, several of them that I've
merged recently from driver maintainers. I've already fixed all warnings I got
here with allmodconfig.

Could you please double check if the patches you've added on your tree are still needed?

Thanks,
Mauro.