Re: [PATCH 2/2] ath10k: make core registering async
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2014-06-23 14:11:16
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2014-06-23 14:11:16
On Mon, 2014-06-23 at 14:59 +0200, Michal Kazior wrote:
quoted
quoted
But does this bump up the module refcount in such a way that an in-progress rmmod will wait/block until the refcount reaches 0?It should, yes, but you race once you do module_put(), no?It's still racy, I agree. I don't see how device_release_driver() can be made work synchronously at all. It should, however, be perfectly fine if this was an async request to release a device/driver, right?
Yeah, but the work struct would have to live somewhere that can't be unloaded, or can more safely wait for it... I guess we could also have a list of these in the modules and synchronize on them in module_exit()? johannes