[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070629172332.GA480@tv-sign.ru>
Date: Fri, 29 Jun 2007 21:23:32 +0400
From: Oleg Nesterov <oleg@...sign.ru>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Ingo Molnar <mingo@...e.hu>, Thomas Sattler <tsattler@....de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Daniel Mack <daniel@...u.de>,
Holger Waechtler <holger@...u.de>,
Mauro Carvalho Chehab <mchehab@...radead.org>,
Mariusz Kozlowski <m.kozlowski@...land.pl>,
v4l-dvb-maintainer@...uxtv.org
Subject: Re: 2.6.22-rc6 spurious hangs
On 06/29, Dmitry Torokhov wrote:
>
> Well, not really maintainer but I think the short term soluton (at
> least for the RC part) is to alter cinergyt2_query_rc to take
> cinergyt2->sem only around cinergyt2_command(). Ther rest of the
> polling function need not be protected as it does nto tun concurently
> with itself.
Can't comment, because I know nothing about this stuff.
But, unless I misread this patch, it doesn't solve the problem.
cinergyt2_release() calls flush_scheduled_work() under ->sem,
but ->query_work takes it too, no?
Quoting myself,
>
> I think cinergyt2_query() and cinergyt2_query_rc() should not use
> ->disconnect_pending at all. cinergyt2_disconnect() should set
> ->disconnect_pending = 1 and cancel both delayed_works.
>
> cinergyt2_release() checks !->disconnect_pending and does the cancel
> without mutex.
Possible?
Oleg.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists