[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160421233032.GA30063@roeck-us.net>
Date: Thu, 21 Apr 2016 16:30:32 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>
Cc: Wim Van Sebroeck <wim@...ana.be>,
Clemens Gruber <clemens.gruber@...ruber.com>,
linux-watchdog@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] watchdog: core: Fix circular locking dependency
On Thu, Apr 21, 2016 at 03:50:55PM +0100, One Thousand Gnomes wrote:
> > Turns out the call to cancel_delayed_work_sync() in watchdog_release()
> > is not necessary and can be dropped. If the worker is no longer necessary,
> > the subsequent call to watchdog_update_worker() will cancel it. If it is
> > already running, it won't do anything, since the worker function checks
> > if it needs to ping the watchdog or not.
>
> Is this actually true. Consider the pathalogical case of the device being
> closed and the modue unloaded. In that case the close completes, we drop
> the module count but could still do work on it.
>
Module unload is handled separately and also calls cancel_delayed_work_sync().
Guenter
Powered by blists - more mailing lists