From: Kalle Valo <kvalo@codeaurora.org>
To: Brian Norris <briannorris@chromium.org>
Cc: Xinming Hu <huxm@marvell.com>,
Linux Wireless <linux-wireless@vger.kernel.org>,
Dmitry Torokhov <dtor@google.com>,
rajatja@google.com, Zhiyuan Yang <yangzy@marvell.com>,
Tim Song <songtao@marvell.com>, Cathy Luo <cluo@marvell.com>,
James Cao <jcao@marvell.com>, Ganapathi Bhat <gbhat@marvell.com>,
Ellie Reeves <ellierevves@gmail.com>
Subject: Re: [PATCH] mwifiex: cancel pcie/sdio work in remove/shutdown handler
Date: Tue, 09 Jan 2018 09:39:39 +0200 [thread overview]
Message-ID: <87373f32h0.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <20180108181117.GA129772@google.com> (Brian Norris's message of "Mon, 8 Jan 2018 10:11:18 -0800")
Brian Norris <briannorris@chromium.org> writes:
>> --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
>> +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
>> @@ -310,6 +310,8 @@ static void mwifiex_pcie_remove(struct pci_dev *pdev)
>> mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN);
>> }
>>
>> + cancel_work_sync(&card->work);
>> +
>
> Just FYI, this "fix" is not a real fix. It will likely paper over some
> of your bugs (where, e.g., the FW shutdown command times out in the
> previous couple of lines), but this highlights the fact that there are
> other races that could trigger the same behavior. You're not fixing
> those.
>
> For example, what if somebody initiates a scan or other nl80211 command
> between the above line and mwifiex_remove_card()? That command could
> potentially time out too.
>
> The proper fix would be to institute some kind of mutual exclusion
> (locking) between mwifiex_shutdown_sw() and mwifiex_remove_card(), so
> that they can't occur at the same time.
>
> Unfortunately, I only paid attention to this after Kalle already applied
> this patch. Personally, I'd prefer this patch not get applied, since
> it's a bad solution to an obvious problem, which instead leaves a subtle
> problem that perhaps no one will bother fixing.
I can revert it, that's not a problem. Can I use the text below as
explanation for the revert?
----------------------------------------------------------------------
Brian Norris <briannorris@chromium.org> says:
Just FYI, this "fix" is not a real fix. It will likely paper over some
of your bugs (where, e.g., the FW shutdown command times out in the
previous couple of lines), but this highlights the fact that there are
other races that could trigger the same behavior. You're not fixing
those.
For example, what if somebody initiates a scan or other nl80211 command
between the above line and mwifiex_remove_card()? That command could
potentially time out too.
The proper fix would be to institute some kind of mutual exclusion
(locking) between mwifiex_shutdown_sw() and mwifiex_remove_card(), so
that they can't occur at the same time.
----------------------------------------------------------------------
--
Kalle Valo
next prev parent reply other threads:[~2018-01-09 7:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-13 11:27 [PATCH] mwifiex: cancel pcie/sdio work in remove/shutdown handler Xinming Hu
2018-01-08 17:38 ` Kalle Valo
2018-01-08 18:11 ` [PATCH] " Brian Norris
2018-01-09 7:39 ` Kalle Valo [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-01-10 12:30 Re: " Xinming Hu
2018-01-12 2:25 ` Brian Norris
2018-01-12 19:06 ` Brian Norris
2018-01-13 9:54 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87373f32h0.fsf@kamboji.qca.qualcomm.com \
--to=kvalo@codeaurora.org \
--cc=briannorris@chromium.org \
--cc=cluo@marvell.com \
--cc=dtor@google.com \
--cc=ellierevves@gmail.com \
--cc=gbhat@marvell.com \
--cc=huxm@marvell.com \
--cc=jcao@marvell.com \
--cc=linux-wireless@vger.kernel.org \
--cc=rajatja@google.com \
--cc=songtao@marvell.com \
--cc=yangzy@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).