You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/06/29 06:07:04 UTC

[incubator-nuttx] 02/02: wireless/bcm43xxx: enable tx flow control to improve performance

This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit bc6b3f34c888353fe8465bfbf568e513a19e9602
Author: chao.an <an...@xiaomi.com>
AuthorDate: Tue Jun 28 13:16:12 2022 +0800

    wireless/bcm43xxx: enable tx flow control to improve performance
    
    RX/TX shared free queue on bcmf implementation, if TX occupies the
    free queue completely, RX will trigger read abort because it cannot
    alloc buffer successfully from the shared free queue. This commit will
    limit the sending entries of tx and prevent rx triggering abort
    
    Signed-off-by: chao.an <an...@xiaomi.com>
---
 drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c b/drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c
index c8f6abbe1e..6520ecf96c 100644
--- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c
+++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_sdio.c
@@ -1065,11 +1065,9 @@ struct bcmf_sdio_frame *bcmf_sdio_allocate_frame(FAR struct bcmf_dev_s *priv,
           DEBUGPANIC();
         }
 
-#if 0
       if (!tx ||
           sbus->tx_queue_count <
-            CONFIG_IEEE80211_BROADCOM_FRAME_POOL_SIZE - 1)
-#endif
+            CONFIG_IEEE80211_BROADCOM_FRAME_POOL_SIZE / 2)
         {
           if ((entry = bcmf_dqueue_pop_tail(&sbus->free_queue)) != NULL)
             {