From: Stanislaw Gruszka <sgruszka@redhat.com>
To: Markus Theil <markus.theil@tu-ilmenau.de>
Cc: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>,
nbd@nbd.name, linux-wireless@vger.kernel.org
Subject: Re: [PATCH] mt76: mt76x02: fix num slots in beacon config init
Date: Tue, 5 Nov 2019 09:53:05 +0100 [thread overview]
Message-ID: <20191105085305.GA21352@redhat.com> (raw)
In-Reply-To: <a6238611-45d6-ffbc-1db2-2b3203c987f8@tu-ilmenau.de>
On Mon, Nov 04, 2019 at 05:07:16PM +0100, Markus Theil wrote:
> On 04.11.19 16:45, Lorenzo Bianconi wrote:
> >> mt76x02 mmio and usb devices use a different number of beacon slots (8
> >> vs. 5). Consider this in mt76x02_init_beacon_config.
> >>
> >> Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
> >> ---
> >> drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c
> >> index 4209209ac940..b7412953ff26 100644
> >> --- a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c
> >> +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c
> >> @@ -249,7 +249,7 @@ void mt76x02_init_beacon_config(struct mt76x02_dev *dev)
> >> mt76_set(dev, MT_BEACON_TIME_CFG, MT_BEACON_TIME_CFG_SYNC_MODE);
> >> mt76_wr(dev, MT_BCN_BYPASS_MASK, 0xffff);
> >>
> >> - for (i = 0; i < 8; i++)
> >> + for (i = 0; i < dev->beacon_ops->nslots; i++)
> >> mt76x02_mac_set_beacon(dev, i, NULL);
> >>
> >> mt76x02_set_beacon_offsets(dev);
> > Hi Markus,
> >
> > mt76x02_init_beacon_config is run just at bootstrap and it is used to clean all
> > beacon RAM memory. It can't see any issue with the current code.
> >
> > Regards,
> > Lorenzo
> >
> >> --
> >> 2.17.1
> >>
> Hi Lorenzo,
>
> I just thought this function should overwrite all 8192 byte beacon RAM
> memory. If the loop count is set to 8 it would overwrite 8 x 1024 = 8192
> byte in the mmio case and 8 x 1638 = 13104 byte in the USB case. 1638 is
> 8192 / N_BCN_SLOTS. N_BCN_SLOTS is currently 5 for USB. mt76x02_beacon.c
> has no further checks for beacon_ops->nslots in the case of setting a
> beacon.
We do not override beacon SRAM memory in mt76x02_init_beacon_config()
as bcn_idx increase only if !!dev->beacons[i], so we 8 times nullify
beacon 0 .
Patch is fine though, but things can be optimized more ...
We possibly can skip beacon SRAM nullification at all (even if there is
garbage in the memory, beacon will not be sent if blocked by
MT_BCN_BYPASS_MASK = 0xffff). Or nullify SRAM at once. And just set
proper MT_MAC_BSSID_DW1_MBEACON_N value.
Stanislaw
prev parent reply other threads:[~2019-11-05 8:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-04 15:03 [PATCH] mt76: mt76x02: fix num slots in beacon config init Markus Theil
2019-11-04 15:45 ` Lorenzo Bianconi
2019-11-04 16:07 ` Markus Theil
2019-11-04 16:17 ` Lorenzo Bianconi
2019-11-05 8:53 ` Stanislaw Gruszka [this message]
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=20191105085305.GA21352@redhat.com \
--to=sgruszka@redhat.com \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo.bianconi@redhat.com \
--cc=markus.theil@tu-ilmenau.de \
--cc=nbd@nbd.name \
/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).