Messages in this thread | | | Date | Sat, 23 Jun 2007 09:54:26 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] saa7134: fix thread shutdown handling |
| |
> On Thu, 21 Jun 2007 14:45:22 -0400 Jeff Mahoney <jeffm@suse.com> wrote: > This patch changes the test for the thread pid from >= 0 to > 0. > > When the saa8134 driver initialization fails after a certain point, > it goes through the complete shutdown process for the driver. Part > of shutting it down includes tearing down the thread for tv audio. > > The test for tearing down the thread tests for >= 0. Since the dev > structure is kzalloc'd, the test will always be true if we haven't > tried to start the thread yet. We end up waiting on pid 0 to complete, > which will never happen, so we lock up. > > This bug was observed in Novell Bugzilla 284718, when request_irq() > failed. > > Signed-off-by: Jeff Mahoney <jeffm@suse.com> > > --- > > drivers/media/video/saa7134/saa7134-tvaudio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/drivers/media/video/saa7134/saa7134-tvaudio.c 2007-06-12 15:45:16.000000000 -0400 > +++ b/drivers/media/video/saa7134/saa7134-tvaudio.c 2007-06-15 14:16:14.000000000 -0400 > @@ -1005,7 +1005,7 @@ > int saa7134_tvaudio_fini(struct saa7134_dev *dev) > { > /* shutdown tvaudio thread */ > - if (dev->thread.pid >= 0) { > + if (dev->thread.pid > 0) { > dev->thread.shutdown = 1; > wake_up_interruptible(&dev->thread.wq); > wait_for_completion(&dev->thread.exit); >
This is no longer applicable to the dvb devel tree, because this code has been converted to the kthread API.
However I guess we do want this in 2.6.22 and in 2.6.21.x. Mauro, if that's OK, do you want me to do the merges?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |