Re: [PATCH 3/5] staging: wfx: make warning about pending frame less scary

From: Jérôme Pouiller
Date: Fri Mar 13 2020 - 11:35:01 EST


On Thursday 12 March 2020 15:30:19 CET Dan Carpenter wrote:
> On Tue, Mar 10, 2020 at 11:13:54AM +0100, Jerome Pouiller wrote:
[...]
> So it really helps me if the commit message restates the subject. The
> truth is that I don't really even like the advice that Josh wrote in
> the howto about patch descriptions. I normally start by explaining the
> problem then how I solved it. But I try not to be a pedant, so long as
> I can understand the problem and the patch that's fine. So how I would
> write this commit message is:
>
> The warning message about releasing a station while Tx is in
> progress will trigger a stack trace, possibly a reboot depending
> on the configuration, and a syzbot email. It's not necessarily
> a big deal that transmission is still in process so let's make the
> warning less scary.

Indeed, my idea was the reviewers start by reading subjects and then read
the body of the commit. I will care now.


> > Signed-off-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>
> > ---
> > drivers/staging/wfx/sta.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
> > index 03d0f224ffdb..010e13bcd33e 100644
> > --- a/drivers/staging/wfx/sta.c
> > +++ b/drivers/staging/wfx/sta.c
> > @@ -605,7 +605,9 @@ int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
> > int i;
> >
> > for (i = 0; i < ARRAY_SIZE(sta_priv->buffered); i++)
> > - WARN(sta_priv->buffered[i], "release station while Tx is in progress");
> > + if (sta_priv->buffered[i])
> > + dev_warn(wvif->wdev->dev, "release station while %d pending frame on queue %d",
> > + sta_priv->buffered[i], i);
>
> Why print a warning message at all if this is a normal situation? Just
> delete the whole thing.

I saw cases where it happened and it seems harmless. In add, this code
is going to be released with 5.6. So, the WARN have to be removed.

However, I think it is not normal. Even if it is harmless, it is the
symptom of something unclean.

So, I think that dev_warn() is the correct level of notification.

(I should have included that in the commit log)

--
Jérôme Pouiller