linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kari Argillander <kari.argillander@gmail.com>
To: Jerome Pouiller <Jerome.Pouiller@silabs.com>
Cc: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH 02/31] staging: wfx: do not send CAB while scanning
Date: Fri, 10 Sep 2021 19:31:00 +0300	[thread overview]
Message-ID: <20210910163100.n6ltzn543f2mnggy@kari-VirtualBox> (raw)
In-Reply-To: <20210910160504.1794332-3-Jerome.Pouiller@silabs.com>

On Fri, Sep 10, 2021 at 06:04:35PM +0200, Jerome Pouiller wrote:
> From: Jérôme Pouiller <jerome.pouiller@silabs.com>
> 
> During the scan requests, the Tx traffic is suspended. This lock is
> shared by all the network interfaces. So, a scan request on one
> interface will block the traffic on a second interface. This causes
> trouble when the queued traffic contains CAB (Content After DTIM Beacon)
> since this traffic cannot be delayed.
> 
> It could be possible to make the lock local to each interface. But It
> would only push the problem further. The device won't be able to send
> the CAB before the end of the scan.
> 
> So, this patch just ignore the DTIM indication when a scan is in
> progress. The firmware will send another indication on the next DTIM and
> this time the system will be able to send the traffic just behind the
> beacon.
> 
> The only drawback of this solution is that the stations connected to
> the AP will wait for traffic after the DTIM for nothing. But since the
> case is really rare it is not a big deal.
> 
> Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
> ---
>  drivers/staging/wfx/sta.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c
> index a236e5bb6914..d901588237a4 100644
> --- a/drivers/staging/wfx/sta.c
> +++ b/drivers/staging/wfx/sta.c
> @@ -629,8 +629,18 @@ int wfx_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set)
>  
>  void wfx_suspend_resume_mc(struct wfx_vif *wvif, enum sta_notify_cmd notify_cmd)
>  {
> +	struct wfx_vif *wvif_it;
> +
>  	if (notify_cmd != STA_NOTIFY_AWAKE)
>  		return;
> +
> +	// Device won't be able to honor CAB if a scan is in progress on any
> +	// interface. Prefer to skip this DTIM and wait for the next one.

In one patch you drop // comments but you introduce some of your self.

> +	wvif_it = NULL;
> +	while ((wvif_it = wvif_iterate(wvif->wdev, wvif_it)) != NULL)
> +		if (mutex_is_locked(&wvif_it->scan_lock))
> +			return;
> +
>  	if (!wfx_tx_queues_has_cab(wvif) || wvif->after_dtim_tx_allowed)
>  		dev_warn(wvif->wdev->dev, "incorrect sequence (%d CAB in queue)",
>  			 wfx_tx_queues_has_cab(wvif));
> -- 
> 2.33.0
> 

  reply	other threads:[~2021-09-10 16:31 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-10 16:04 [PATCH 00/31] [PATCH 00/31] staging/wfx: usual maintenance Jerome Pouiller
2021-09-10 16:04 ` [PATCH 01/31] staging: wfx: use abbreviated message for "incorrect sequence" Jerome Pouiller
2021-09-10 16:04 ` [PATCH 02/31] staging: wfx: do not send CAB while scanning Jerome Pouiller
2021-09-10 16:31   ` Kari Argillander [this message]
2021-09-10 16:54     ` Jérôme Pouiller
2021-09-10 17:01       ` Kari Argillander
2021-09-10 17:12         ` Jérôme Pouiller
2021-09-10 16:04 ` [PATCH 03/31] staging: wfx: ignore PS when STA/AP share same channel Jerome Pouiller
2021-09-10 16:04 ` [PATCH 04/31] staging: wfx: wait for SCAN_CMPL after a SCAN_STOP Jerome Pouiller
2021-09-10 16:04 ` [PATCH 05/31] staging: wfx: avoid possible lock-up during scan Jerome Pouiller
2021-09-10 16:04 ` [PATCH 06/31] staging: wfx: drop unused argument from hif_scan() Jerome Pouiller
2021-09-10 16:04 ` [PATCH 07/31] staging: wfx: fix atomic accesses in wfx_tx_queue_empty() Jerome Pouiller
2021-09-10 16:04 ` [PATCH 08/31] staging: wfx: take advantage of wfx_tx_queue_empty() Jerome Pouiller
2021-09-10 16:04 ` [PATCH 09/31] staging: wfx: declare support for TDLS Jerome Pouiller
2021-09-10 16:04 ` [PATCH 10/31] staging: wfx: fix support for CSA Jerome Pouiller
2021-09-10 16:04 ` [PATCH 11/31] staging: wfx: relax the PDS existence constraint Jerome Pouiller
2021-09-10 16:04 ` [PATCH 12/31] staging: wfx: simplify API coherency check Jerome Pouiller
2021-09-10 16:04 ` [PATCH 13/31] staging: wfx: update with API 3.8 Jerome Pouiller
2021-09-10 16:43   ` Kari Argillander
2021-09-10 17:03     ` Jérôme Pouiller
2021-09-10 16:04 ` [PATCH 14/31] staging: wfx: uniformize counter names Jerome Pouiller
2021-09-10 16:04 ` [PATCH 15/31] staging: wfx: fix misleading 'rate_id' usage Jerome Pouiller
2021-09-10 16:04 ` [PATCH 16/31] staging: wfx: declare variables at beginning of functions Jerome Pouiller
2021-09-10 16:04 ` [PATCH 17/31] staging: wfx: simplify hif_join() Jerome Pouiller
2021-09-10 16:38   ` Kari Argillander
2021-09-10 16:04 ` [PATCH 18/31] staging: wfx: reorder function for slightly better eye candy Jerome Pouiller
2021-09-10 16:04 ` [PATCH 19/31] staging: wfx: fix error names Jerome Pouiller
2021-09-10 16:04 ` [PATCH 20/31] staging: wfx: apply naming rules in hif_tx_mib.c Jerome Pouiller
2021-09-10 16:04 ` [PATCH 21/31] staging: wfx: remove unused definition Jerome Pouiller
2021-09-10 16:04 ` [PATCH 22/31] staging: wfx: remove useless debug statement Jerome Pouiller
2021-09-10 16:04 ` [PATCH 23/31] staging: wfx: fix space after cast operator Jerome Pouiller
2021-09-10 16:04 ` [PATCH 24/31] staging: wfx: remove references to WFxxx in comments Jerome Pouiller
2021-09-10 16:04 ` [PATCH 25/31] staging: wfx: update files descriptions Jerome Pouiller
2021-09-10 16:04 ` [PATCH 26/31] staging: wfx: reformat comment Jerome Pouiller
2021-09-10 16:05 ` [PATCH 27/31] staging: wfx: avoid c99 comments Jerome Pouiller
2021-09-10 16:05 ` [PATCH 28/31] staging: wfx: fix comments styles Jerome Pouiller
2021-09-10 16:05 ` [PATCH 29/31] staging: wfx: remove useless comments after #endif Jerome Pouiller
2021-09-10 16:27   ` Kari Argillander
2021-09-10 16:49     ` Jérôme Pouiller
2021-09-10 17:05       ` Kari Argillander
2021-09-10 16:05 ` [PATCH 30/31] staging: wfx: explain the purpose of wfx_send_pds() Jerome Pouiller
2021-09-10 16:05 ` [PATCH 31/31] staging: wfx: indent functions arguments Jerome Pouiller
2021-09-10 16:57   ` Kari Argillander
2021-09-10 17:12     ` Jérôme Pouiller
2021-09-10 17:28       ` Kari Argillander
2021-09-10 17:07 ` [PATCH 00/31] [PATCH 00/31] staging/wfx: usual maintenance Kari Argillander
2021-09-10 17:15   ` Jérôme Pouiller

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=20210910163100.n6ltzn543f2mnggy@kari-VirtualBox \
    --to=kari.argillander@gmail.com \
    --cc=Jerome.Pouiller@silabs.com \
    --cc=davem@davemloft.net \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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).