From: Brian Norris <briannorris@chromium.org>
To: Ganapathi Bhat <gbhat@marvell.com>
Cc: linux-wireless@vger.kernel.org, Cathy Luo <cluo@marvell.com>,
Zhiyuan Yang <yangzy@marvell.com>, James Cao <jcao@marvell.com>,
Rakesh Parmar <rakeshp@marvell.com>,
Dmitry Vyukov <dvyukov@google.com>
Subject: Re: [PATCH] mwifiex: avoid deleting uninitialized timer during USB cleanup
Date: Thu, 13 Jun 2019 18:16:50 -0700 [thread overview]
Message-ID: <20190614011648.GA121099@google.com> (raw)
In-Reply-To: <1560354873-17182-1-git-send-email-gbhat@marvell.com>
Hi Ganapathi,
This looks kinda wrong, but I'm not totally sure, as I'm not very familiar with
your USB driver.
On Wed, Jun 12, 2019 at 09:24:33PM +0530, Ganapathi Bhat wrote:
> Driver calls del_timer_sync(hold_timer), in unregister_dev(), but
> there exists is a case when the timer is yet to be initialized. A
> restructure of init and cleanup is needed to synchronize timer
> creation and delee. Make use of init_if() / cleanup_if() handlers
s/delee/delete/
> to get this done.
>
> Reported-by: syzbot+373e6719b49912399d21@syzkaller.appspotmail.com
> Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
> ---
> drivers/net/wireless/marvell/mwifiex/usb.c | 32 +++++++++++++++++++++++-------
> 1 file changed, 25 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/wireless/marvell/mwifiex/usb.c b/drivers/net/wireless/marvell/mwifiex/usb.c
> index c2365ee..939f1e9 100644
> --- a/drivers/net/wireless/marvell/mwifiex/usb.c
> +++ b/drivers/net/wireless/marvell/mwifiex/usb.c
> @@ -1348,6 +1348,8 @@ static void mwifiex_usb_cleanup_tx_aggr(struct mwifiex_adapter *adapter)
>
> for (idx = 0; idx < MWIFIEX_TX_DATA_PORT; idx++) {
> port = &card->port[idx];
> + if (!port->tx_data_ep)
> + continue;
It's not clear to me what this is about. Are you sure you're not just cleaning
stuff up in the wrong order?
> if (adapter->bus_aggr.enable)
> while ((skb_tmp =
> skb_dequeue(&port->tx_aggr.aggr_list)))
...
> @@ -1584,7 +1580,29 @@ static void mwifiex_usb_submit_rem_rx_urbs(struct mwifiex_adapter *adapter)
> return 0;
> }
>
> +static int mwifiex_init_usb(struct mwifiex_adapter *adapter)
> +{
> + struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
> + int ret = 0;
> +
> + if (card->usb_boot_state == USB8XXX_FW_DNLD)
> + return 0;
This looks wrong. You don't want to skip your basic initialization just because
firmware isn't loaded yet. In fact, init_if() always gets called before FW
init, so haven't you basically stubbed out this function most of the time?
I guess the question is: is this step supposed to go before, or after firmware
initilization? Based on that answer, we can make an appropriate patch.
(The original code does this after FW initialization, and now you're only sort
of moving it before.)
> +
> + ret = mwifiex_usb_rx_init(adapter);
> + if (!ret)
> + ret = mwifiex_usb_tx_init(adapter);
> +
> + return ret;
> +}
Brian
next prev parent reply other threads:[~2019-06-14 1:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-12 15:54 [PATCH] mwifiex: avoid deleting uninitialized timer during USB cleanup Ganapathi Bhat
2019-06-14 1:16 ` Brian Norris [this message]
2019-10-02 14:25 ` [EXT] " Ganapathi Bhat
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=20190614011648.GA121099@google.com \
--to=briannorris@chromium.org \
--cc=cluo@marvell.com \
--cc=dvyukov@google.com \
--cc=gbhat@marvell.com \
--cc=jcao@marvell.com \
--cc=linux-wireless@vger.kernel.org \
--cc=rakeshp@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).