public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
@ 2010-03-24 10:57 Bjørn Mork
  2010-03-24 12:25 ` Oliver Endriss
  0 siblings, 1 reply; 8+ messages in thread
From: Bjørn Mork @ 2010-03-24 10:57 UTC (permalink / raw)
  To: linux-media; +Cc: Bjørn Mork, stable, 575207

Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
the following oops, which will be triggered by a missing stv090x module:

[    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
[    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
[    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
[    8.562047] DVB: Unable to find symbol stv090x_attach()
[    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
[    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]


Ref http://bugs.debian.org/575207


Signed-off-by: Bjørn Mork <bjorn@mork.no>
Cc: stable@kernel.org
Cc: 575207@bugs.debian.org
---
This patch should apply cleanly to 2.6.32, 2.6.33, 2.6.34-rc2 and with an 
offset to git://linuxtv.org/v4l-dvb.git

Please apply to all of them


 drivers/media/dvb/ttpci/budget.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index e48380c..95a463c 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -643,9 +643,6 @@ static void frontend_init(struct budget *budget)
 					&budget->i2c_adap,
 					&tt1600_isl6423_config);
 
-			} else {
-				dvb_frontend_detach(budget->dvb_frontend);
-				budget->dvb_frontend = NULL;
 			}
 		}
 		break;
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-03-24 10:57 [PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
@ 2010-03-24 12:25 ` Oliver Endriss
  2010-03-24 12:30   ` Bug#575207: Info received ([PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference") Debian Bug Tracking System
  2010-03-24 13:17   ` [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
  0 siblings, 2 replies; 8+ messages in thread
From: Oliver Endriss @ 2010-03-24 12:25 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-media, stable, 575207

Hi,

Bjørn Mork wrote:
> Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
> the following oops, which will be triggered by a missing stv090x module:
> 
> [    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
> [    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
> [    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> [    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
> [    8.562047] DVB: Unable to find symbol stv090x_attach()
> [    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
> [    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]
> ...
> 
> Ref http://bugs.debian.org/575207
> 
> 
> Signed-off-by: Bjørn Mork <bjorn@mork.no>
> Cc: stable@kernel.org
> Cc: 575207@bugs.debian.org
> ---
> This patch should apply cleanly to 2.6.32, 2.6.33, 2.6.34-rc2 and with an 
> offset to git://linuxtv.org/v4l-dvb.git
> 
> Please apply to all of them
> 
> 
>  drivers/media/dvb/ttpci/budget.c |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
> index e48380c..95a463c 100644
> --- a/drivers/media/dvb/ttpci/budget.c
> +++ b/drivers/media/dvb/ttpci/budget.c
> @@ -643,9 +643,6 @@ static void frontend_init(struct budget *budget)
>  					&budget->i2c_adap,
>  					&tt1600_isl6423_config);
>  
> -			} else {
> -				dvb_frontend_detach(budget->dvb_frontend);
> -				budget->dvb_frontend = NULL;
>  			}
>  		}
>  		break;

This patch fixes only one of three possible problems.

Could you please extend your patch in a way
that it will also catch, if
- dvb_attach(stv6110x_attach,...)
- dvb_attach(isl6423_attach,...)
fail?

CU
Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
----------------------------------------------------------------

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Bug#575207: Info received ([PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference")
  2010-03-24 12:25 ` Oliver Endriss
@ 2010-03-24 12:30   ` Debian Bug Tracking System
  2010-03-24 13:17   ` [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
  1 sibling, 0 replies; 8+ messages in thread
From: Debian Bug Tracking System @ 2010-03-24 12:30 UTC (permalink / raw)
  To: linux-media

Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 Debian Kernel Team <debian-kernel@lists.debian.org>

If you wish to submit further information on this problem, please
send it to 575207@bugs.debian.org.

Please do not send mail to owner@bugs.debian.org unless you wish
to report a problem with the Bug-tracking system.

-- 
575207: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575207
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-03-24 12:25 ` Oliver Endriss
  2010-03-24 12:30   ` Bug#575207: Info received ([PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference") Debian Bug Tracking System
@ 2010-03-24 13:17   ` Bjørn Mork
  2010-03-24 13:30     ` [PATCH v2 for v4l-dvb master] " Bjørn Mork
  2010-04-19 18:21     ` [stable] [PATCH v2] " Greg KH
  1 sibling, 2 replies; 8+ messages in thread
From: Bjørn Mork @ 2010-03-24 13:17 UTC (permalink / raw)
  To: linux-media; +Cc: Bjørn Mork, stable

Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
the following oops:

[    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
[    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
[    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
[    8.562047] DVB: Unable to find symbol stv090x_attach()
[    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
[    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]

Ref http://bugs.debian.org/575207

Also clean up if we are unable to register the tuner and LNB drivers

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Cc: stable@kernel.org
Reported-by: Fladischer Michael <FladischerMichael@fladi.at>
---
Oliver Endriss <o.endriss@gmx.de> writes:

> Could you please extend your patch in a way
> that it will also catch, if
> - dvb_attach(stv6110x_attach,...)
> - dvb_attach(isl6423_attach,...)
> fail?

OK.  Attempting, although I have no clue whether such failures are really
fatal or not...

This is version 2 of this patch, adding cleanup in case we fail to register
the two submodules used by this card/frontend.  I'm not certain that this 
additional cleanup is appropriate for stable as any failure to register 
these will be handled cleanly AFAICS.  But I have no way to test this.

This patch should apply cleanly to 2.6.32, 2.6.33, 2.6.34-rc2

This does not apply cleanly to git://linuxtv.org/v4l-dvb.git master.  I will 
followup with a similar patch for that branch

Please apply to stable if appropriate.  If not, please apply version 1
of the patch, which fixes only the oops condition.



 drivers/media/dvb/ttpci/budget.c |   42 ++++++++++++++++++++-----------------
 1 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index e48380c..4666c1e 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -627,25 +627,29 @@ static void frontend_init(struct budget *budget)
 						 &tt1600_stv6110x_config,
 						 &budget->i2c_adap);
 
-				tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
-				tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
-				tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
-				tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
-				tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
-				tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
-				tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
-				tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
-				tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
-				tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
-
-				dvb_attach(isl6423_attach,
-					budget->dvb_frontend,
-					&budget->i2c_adap,
-					&tt1600_isl6423_config);
-
-			} else {
-				dvb_frontend_detach(budget->dvb_frontend);
-				budget->dvb_frontend = NULL;
+				if (ctl) {
+					tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
+					tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
+					tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
+					tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
+					tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
+					tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
+					tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
+					tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
+					tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
+					tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
+
+					if (dvb_attach(isl6423_attach,
+						       budget->dvb_frontend,
+						       &budget->i2c_adap,
+						       &tt1600_isl6423_config) == NULL) {
+						printk("%s: No Intersil ISL6423 found!\n", __func__);
+						goto error_out;
+					}
+				} else {
+					printk("%s: No STV6110(A) Silicon Tuner found!\n", __func__);
+					goto error_out;
+				}
 			}
 		}
 		break;
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 for v4l-dvb master] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-03-24 13:17   ` [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
@ 2010-03-24 13:30     ` Bjørn Mork
  2010-03-25 12:38       ` Oliver Endriss
  2010-04-19 18:21     ` [stable] [PATCH v2] " Greg KH
  1 sibling, 1 reply; 8+ messages in thread
From: Bjørn Mork @ 2010-03-24 13:30 UTC (permalink / raw)
  To: linux-media; +Cc: Bjørn Mork

Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
the following oops:

[    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
[    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
[    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
[    8.562047] DVB: Unable to find symbol stv090x_attach()
[    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
[    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]

Ref http://bugs.debian.org/575207

Also clean up if we are unable to register the tuner and LNB drivers

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Reported-by: Fladischer Michael <FladischerMichael@fladi.at>
---
This version should apply to to git://linuxtv.org/v4l-dvb.git master on
top of commit 30b8f0787e51a3ab0c447e0e3bf4aadc7caf9ffd. 

It is otherwise identical to the v2 patch for the upstream and stable
kernel repositories.


 drivers/media/dvb/ttpci/budget.c |   56 ++++++++++++++++++++-----------------
 1 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index fccb6ad..918679e 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -628,32 +628,36 @@ static void frontend_init(struct budget *budget)
 						 &tt1600_stv6110x_config,
 						 &budget->i2c_adap);
 
-				tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
-				tt1600_stv090x_config.tuner_sleep	  = ctl->tuner_sleep;
-				tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
-				tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
-				tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
-				tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
-				tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
-				tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
-				tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
-				tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
-				tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
-
-				/* call the init function once to initialize
-				   tuner's clock output divider and demod's
-				   master clock */
-				if (budget->dvb_frontend->ops.init)
-					budget->dvb_frontend->ops.init(budget->dvb_frontend);
-
-				dvb_attach(isl6423_attach,
-					budget->dvb_frontend,
-					&budget->i2c_adap,
-					&tt1600_isl6423_config);
-
-			} else {
-				dvb_frontend_detach(budget->dvb_frontend);
-				budget->dvb_frontend = NULL;
+				if (ctl) {
+					tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
+					tt1600_stv090x_config.tuner_sleep	  = ctl->tuner_sleep;
+					tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
+					tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
+					tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
+					tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
+					tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
+					tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
+					tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
+					tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
+					tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
+
+					/* call the init function once to initialize
+					   tuner's clock output divider and demod's
+					   master clock */
+					if (budget->dvb_frontend->ops.init)
+						budget->dvb_frontend->ops.init(budget->dvb_frontend);
+
+					if (dvb_attach(isl6423_attach,
+						       budget->dvb_frontend,
+						       &budget->i2c_adap,
+						       &tt1600_isl6423_config) == NULL) {
+						printk("%s: No Intersil ISL6423 found!\n", __func__);
+						goto error_out;
+					}
+				} else {
+					printk("%s: No STV6110(A) Silicon Tuner found!\n", __func__);
+					goto error_out;
+				}
 			}
 		}
 		break;
-- 
1.5.6.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 for v4l-dvb master] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-03-24 13:30     ` [PATCH v2 for v4l-dvb master] " Bjørn Mork
@ 2010-03-25 12:38       ` Oliver Endriss
  0 siblings, 0 replies; 8+ messages in thread
From: Oliver Endriss @ 2010-03-25 12:38 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-media

Hi,

Bjørn Mork wrote:
> Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
> the following oops:
> 
> [    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
> [    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
> [    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> [    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
> [    8.562047] DVB: Unable to find symbol stv090x_attach()
> [    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
> [    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]
> 
> Ref http://bugs.debian.org/575207
> 
> Also clean up if we are unable to register the tuner and LNB drivers
> 
> Signed-off-by: Bjørn Mork <bjorn@mork.no>
> Reported-by: Fladischer Michael <FladischerMichael@fladi.at>
> ---
> This version should apply to to git://linuxtv.org/v4l-dvb.git master on
> top of commit 30b8f0787e51a3ab0c447e0e3bf4aadc7caf9ffd. 
> 
> It is otherwise identical to the v2 patch for the upstream and stable
> kernel repositories.
> 
> 
>  drivers/media/dvb/ttpci/budget.c |   56 ++++++++++++++++++++-----------------
>  1 files changed, 30 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
> index fccb6ad..918679e 100644
> --- a/drivers/media/dvb/ttpci/budget.c
> +++ b/drivers/media/dvb/ttpci/budget.c
> @@ -628,32 +628,36 @@ static void frontend_init(struct budget *budget)
>  						 &tt1600_stv6110x_config,
>  						 &budget->i2c_adap);
>  
> -				tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
> -				tt1600_stv090x_config.tuner_sleep	  = ctl->tuner_sleep;
> -				tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
> -				tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
> -				tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
> -				tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
> -				tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
> -				tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
> -				tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
> -				tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
> -				tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
> -
> -				/* call the init function once to initialize
> -				   tuner's clock output divider and demod's
> -				   master clock */
> -				if (budget->dvb_frontend->ops.init)
> -					budget->dvb_frontend->ops.init(budget->dvb_frontend);
> -
> -				dvb_attach(isl6423_attach,
> -					budget->dvb_frontend,
> -					&budget->i2c_adap,
> -					&tt1600_isl6423_config);
> -
> -			} else {
> -				dvb_frontend_detach(budget->dvb_frontend);
> -				budget->dvb_frontend = NULL;
> +				if (ctl) {
> +					tt1600_stv090x_config.tuner_init	  = ctl->tuner_init;
> +					tt1600_stv090x_config.tuner_sleep	  = ctl->tuner_sleep;
> +					tt1600_stv090x_config.tuner_set_mode	  = ctl->tuner_set_mode;
> +					tt1600_stv090x_config.tuner_set_frequency = ctl->tuner_set_frequency;
> +					tt1600_stv090x_config.tuner_get_frequency = ctl->tuner_get_frequency;
> +					tt1600_stv090x_config.tuner_set_bandwidth = ctl->tuner_set_bandwidth;
> +					tt1600_stv090x_config.tuner_get_bandwidth = ctl->tuner_get_bandwidth;
> +					tt1600_stv090x_config.tuner_set_bbgain	  = ctl->tuner_set_bbgain;
> +					tt1600_stv090x_config.tuner_get_bbgain	  = ctl->tuner_get_bbgain;
> +					tt1600_stv090x_config.tuner_set_refclk	  = ctl->tuner_set_refclk;
> +					tt1600_stv090x_config.tuner_get_status	  = ctl->tuner_get_status;
> +
> +					/* call the init function once to initialize
> +					   tuner's clock output divider and demod's
> +					   master clock */
> +					if (budget->dvb_frontend->ops.init)
> +						budget->dvb_frontend->ops.init(budget->dvb_frontend);
> +
> +					if (dvb_attach(isl6423_attach,
> +						       budget->dvb_frontend,
> +						       &budget->i2c_adap,
> +						       &tt1600_isl6423_config) == NULL) {
> +						printk("%s: No Intersil ISL6423 found!\n", __func__);
> +						goto error_out;
> +					}
> +				} else {
> +					printk("%s: No STV6110(A) Silicon Tuner found!\n", __func__);
> +					goto error_out;
> +				}
>  			}
>  		}
>  		break;


Looks fine.

Acked-by: Oliver Endriss <o.endriss@gmx.de>

CU
Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
----------------------------------------------------------------

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [stable] [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-03-24 13:17   ` [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
  2010-03-24 13:30     ` [PATCH v2 for v4l-dvb master] " Bjørn Mork
@ 2010-04-19 18:21     ` Greg KH
  2010-04-22  8:53       ` Bjørn Mork
  1 sibling, 1 reply; 8+ messages in thread
From: Greg KH @ 2010-04-19 18:21 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-media, stable

On Wed, Mar 24, 2010 at 02:17:38PM +0100, Bjørn Mork wrote:
> Never call dvb_frontend_detach if we failed to attach a frontend. This fixes
> the following oops:
> 
> [    8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI)
> [    8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29
> [    8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
> [    8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64
> [    8.562047] DVB: Unable to find symbol stv090x_attach()
> [    8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac
> [    8.562239] IP: [<e08b04a3>] dvb_frontend_detach+0x4/0x67 [dvb_core]
> 
> Ref http://bugs.debian.org/575207
> 
> Also clean up if we are unable to register the tuner and LNB drivers
> 
> Signed-off-by: Bjørn Mork <bjorn@mork.no>
> Cc: stable@kernel.org
> Reported-by: Fladischer Michael <FladischerMichael@fladi.at>
> ---
> Oliver Endriss <o.endriss@gmx.de> writes:
> 
> > Could you please extend your patch in a way
> > that it will also catch, if
> > - dvb_attach(stv6110x_attach,...)
> > - dvb_attach(isl6423_attach,...)
> > fail?
> 
> OK.  Attempting, although I have no clue whether such failures are really
> fatal or not...
> 
> This is version 2 of this patch, adding cleanup in case we fail to register
> the two submodules used by this card/frontend.  I'm not certain that this 
> additional cleanup is appropriate for stable as any failure to register 
> these will be handled cleanly AFAICS.  But I have no way to test this.
> 
> This patch should apply cleanly to 2.6.32, 2.6.33, 2.6.34-rc2
> 
> This does not apply cleanly to git://linuxtv.org/v4l-dvb.git master.  I will 
> followup with a similar patch for that branch
> 
> Please apply to stable if appropriate.  If not, please apply version 1
> of the patch, which fixes only the oops condition.

Any reason why this patch isn't in Linus's tree yet?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [stable] [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference"
  2010-04-19 18:21     ` [stable] [PATCH v2] " Greg KH
@ 2010-04-22  8:53       ` Bjørn Mork
  0 siblings, 0 replies; 8+ messages in thread
From: Bjørn Mork @ 2010-04-22  8:53 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-media, stable

Greg KH <greg@kroah.com> writes:

> Any reason why this patch isn't in Linus's tree yet?

Not to my knowledge.  Anyone?

I must admit that I do not entirely understand the flow of bugfix
patches for V4L/DVB. There doesn't seem to be any collection point for
those, only a git tree for development and a mercurial tree for a
backported version of the development tree.  Is that correct, or is the
reason this patch isn't merged that I missed something here?

I do note that MAINTAINERS point to
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git but
this tree doesn't seem to be actually used?  No bugfixes for any part of
the subsystem in 2.5 months seems unlikely...

Sorry if I've missed this in any of the V4L development docs.  I'd
really appreciate it if anyone pointed me in the right direction.


Bjørn

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-04-22  8:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-24 10:57 [PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
2010-03-24 12:25 ` Oliver Endriss
2010-03-24 12:30   ` Bug#575207: Info received ([PATCH] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference") Debian Bug Tracking System
2010-03-24 13:17   ` [PATCH v2] V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Bjørn Mork
2010-03-24 13:30     ` [PATCH v2 for v4l-dvb master] " Bjørn Mork
2010-03-25 12:38       ` Oliver Endriss
2010-04-19 18:21     ` [stable] [PATCH v2] " Greg KH
2010-04-22  8:53       ` Bjørn Mork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox