Re: Re: [PATCH] mwifiex: fixes the trivial print

From: Xinming Hu
Date: Tue Jun 13 2017 - 05:56:50 EST


Hi Caesar,

The original log in google issue tracker show there exist AP in channel 13 after periodically scan.
Per my understand, if reg domain is set to US, channel 12/13/14 will not get chance to scan. (test using iw/wpa_supplicant).
I am curious about whether there are any diff from upper layer.

As a test, you can print the scan channel list, as below:

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index a7593aa..a289818 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2572,6 +2572,7 @@ static int mwifiex_set_ibss_params(struct mwifiex_private *priv,
MWIFIEX_USER_SCAN_CHAN_MAX); i++) {
chan = request->channels[i];
user_scan_cfg->chan_list[i].chan_number = chan->hw_value;
+ pr_err("chan->hw_value = %d", chan->hw_value);
user_scan_cfg->chan_list[i].radio_type = chan->band;

if ((chan->flags & IEEE80211_CHAN_NO_IR) || !request->n_ssids)

Regards,
Simon

> -----Original Message-----
> From: Kalle Valo [mailto:kvalo@xxxxxxxxxxxxxx]
> Sent: 2017å6æ13æ 15:53
> To: Caesar Wang
> Cc: amitkarwar@xxxxxxxxx; Xinming Hu; Nishant Sarmukadam; Ganapathi
> Bhat; linux-wireless@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; briannorris@xxxxxxxxxxxx;
> jeffy.chen@xxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCH] mwifiex: fixes the trivial print
>
> External Email
>
> ----------------------------------------------------------------------
> Caesar Wang <wxt@xxxxxxxxxxxxxx> writes:
>
> > å 2017å06æ13æ 15:04, Kalle Valo åé:
> >> Caesar Wang <wxt@xxxxxxxxxxxxxx> writes:
> >>
> >>> Kalle,
> >>>
> >>> å 2017å06æ13æ 14:28, Kalle Valo åé:
> >>>> Caesar Wang <wxt@xxxxxxxxxxxxxx> writes:
> >>>>
> >>>>> We have always met the unused log be printed as following.
> >>>>>
> >>>>> ...
> >>>>> [23193.523182] mwifiex_pcie 0000:01:00.0: mwifiex_get_cfp:
> >>>>> cannot find cfp by band 2 & channel=13 freq=0
> >>>>> [23378.633684] mwifiex_pcie 0000:01:00.0: mwifiex_get_cfp:
> >>>>> cannot find cfp by band 2 & channel=13 freq=0
> >>>>>
> >>>>> Maybe that's related to wifi regdom, since wifi default area was
> >>>>> US and didn't support 12~14 channels.
> >>>>>
> >>>>> As Frequencies:
> >>>>> * 2412 MHz [1] (30.0 dBm)
> >>>>> * 2417 MHz [2] (30.0 dBm)
> >>>>> * 2422 MHz [3] (30.0 dBm)
> >>>>> * 2427 MHz [4] (30.0 dBm)
> >>>>> * 2432 MHz [5] (30.0 dBm)
> >>>>> * 2437 MHz [6] (30.0 dBm)
> >>>>> * 2442 MHz [7] (30.0 dBm)
> >>>>> * 2447 MHz [8] (30.0 dBm)
> >>>>> * 2452 MHz [9] (30.0 dBm)
> >>>>> * 2457 MHz [10] (30.0 dBm)
> >>>>> * 2462 MHz [11] (30.0 dBm)
> >>>>> * 2467 MHz [12] (disabled)
> >>>>> * 2472 MHz [13] (disabled)
> >>>>> * 2484 MHz [14] (disabled)
> >>>>>
> >>>>> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx>
> >>>>> ---
> >>>>>
> >>>>> drivers/net/wireless/marvell/mwifiex/cfp.c | 2 +-
> >>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> b/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> index 1ff2205..6e29943 100644
> >>>>> --- a/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> +++ b/drivers/net/wireless/marvell/mwifiex/cfp.c
> >>>>> @@ -350,7 +350,7 @@ mwifiex_get_cfp(struct mwifiex_private *priv, u8
> band, u16 channel, u32 freq)
> >>>>> }
> >>>>> }
> >>>>> if (i == sband->n_channels) {
> >>>>> - mwifiex_dbg(priv->adapter, ERROR,
> >>>>> + mwifiex_dbg(priv->adapter, WARN,
> >>>>> "%s: cannot find cfp by band %d\t"
> >>>>> "& channel=%d freq=%d\n",
> >>>>> __func__, band, channel, freq);
> >>>> I don't see how this fixes anything, care to explain? And the title
> >>>> is quite vague.
> >>> Sorry for the description maybe unclear.
> >>> I'm assuming the print log is expected for marvel wifi driver. Do we
> >>> should use 'WARN' to instead of the 'ERROR' here.
> >> But does that make any functional difference, isn't the warning still
> >> printed?
> >>
> >
> > At least, that shouldn't be printed log by default. :)
> >
> > if I read the code is correct. That only the MSG/FATAL/ERROR will
> > output by default.
> >
> > /**
> > *enum mwifiex_debug_level - marvell wifi debug level */ enum
> > MWIFIEX_DEBUG_LEVEL {
> > MWIFIEX_DBG_MSG = 0x00000001,
> > MWIFIEX_DBG_FATAL = 0x00000002,
> > MWIFIEX_DBG_ERROR = 0x00000004,
> > MWIFIEX_DBG_DATA = 0x00000008,
> > MWIFIEX_DBG_CMD = 0x00000010,
> > MWIFIEX_DBG_EVENT = 0x00000020,
> > MWIFIEX_DBG_INTR = 0x00000040,
> > MWIFIEX_DBG_IOCTL = 0x00000080,
> >
> > MWIFIEX_DBG_MPA_D = 0x00008000,
> > MWIFIEX_DBG_DAT_D = 0x00010000,
> > MWIFIEX_DBG_CMD_D = 0x00020000,
> > MWIFIEX_DBG_EVT_D = 0x00040000,
> > MWIFIEX_DBG_FW_D = 0x00080000,
> > MWIFIEX_DBG_IF_D = 0x00100000,
> >
> > MWIFIEX_DBG_ENTRY = 0x10000000,
> > MWIFIEX_DBG_WARN = 0x20000000,
> > MWIFIEX_DBG_INFO = 0x40000000,
> > MWIFIEX_DBG_DUMP = 0x80000000,
> >
> > MWIFIEX_DBG_ANY = 0xffffffff
> > };
> >
> > #define MWIFIEX_DEFAULT_DEBUG_MASK (MWIFIEX_DBG_MSG | \
> > MWIFIEX_DBG_FATAL | \
> > MWIFIEX_DBG_ERROR)
>
> Heh, makes more sense now :) But you still should improve the title and
> explain in the commit log that WARN level is not printed by default.
>
> But before you submit v2 let's wait what Marvell says about this.
>
> --
> Kalle Valo