Re: [PATCH] Conexant 2388x: check for kthread_run

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Mauro Carvalho Chehab - Wed, Jul 18, 2007 at 04:25:38PM -0300]
| Hi Cyrill,
| 
| Em Qua, 2007-07-18 ??s 22:56 +0400, Cyrill Gorcunov escreveu:
| > This patch adds checking of kthread_run return code.
| > 
| > Signed-off-by: Cyrill Gorcunov <[email protected]>
| > ---
| > Probably we could just ignore a such situation (we do
| > check for core->kthread value before trying to stop the
| > thread) but we have to leave a footmark in kernel
| > messages anyway I guess. Comments?
| 
| > +		if (IS_ERR(core->kthread)) {
| > +			err = PTR_ERR(core->kthread);
| > +			printk(KERN_ERR "Failed to create cx88 audio thread, err=%d\n",
| > +			       err);
| > +			goto fail_unreg;
| 
| I would just remove the goto from your patch. 
| 
| It is safe not starting the kernel thread, but keeping the driver
| initializing.
| 
| The drawback of not having the thread is not changing to stereo on some
| situations and not detecting audio standard changes (some countries may
| have more than one audio standard when you changing from VHF to UHF or
| on Cable TV).
| 
| -- 
| Cheers,
| Mauro
| 

Hi Mauro,
thanks for the answer. Well, here is updated version.

---
From: Cyrill Gorcunov <[email protected]>
Subject: [PATCH] Conexant 2388x: check for kthread_run

The patch adds checking of kthread_run return code
and issues a message if it fails.

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

 drivers/media/video/cx88/cx88-video.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 98fa354..06b233a 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1881,8 +1881,14 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
 	mutex_unlock(&core->lock);
 
 	/* start tvaudio thread */
-	if (core->tuner_type != TUNER_ABSENT)
+	if (core->tuner_type != TUNER_ABSENT) {
 		core->kthread = kthread_run(cx88_audio_thread, core, "cx88 tvaudio");
+		if (IS_ERR(core->kthread)) {
+			err = PTR_ERR(core->kthread);
+			printk(KERN_ERR "Failed to create cx88 audio thread, err=%d\n",
+			       err);
+		}
+	}
 	return 0;
 
 fail_unreg:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux