Re: [RFC 0/5] iwlwifi: enhance final opmode work

From: Johannes Berg
Date: Wed Mar 01 2017 - 02:32:15 EST



> One of the limitations of using async_schedule() though is we cannot
> request_module() synchronously on async calls given that the module
> initialization code will call async_synchronize_full() if the module
> being initialized happened to have used async work on its
> initialization routine, otherwise we'd deadlock.
>
> So, I either I change back to workqueus or we live happy with either:

I really think you should avoid breaking this API and change back.
Drivers have been using it, how to avoid the use-after-free with a
completion is well known, and there's generally no issue.

Making things "easier" while requiring lots of churn everywhere isn't
always a good thing.

If you end up introducing some new API then perhaps that new API would
make sense to use async_schedule(), but I don't really see all that
much point in changing all of this now.

johannes