You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2023/01/08 04:49:16 UTC

[GitHub] [nuttx] wengzhe commented on pull request #8011: net/devif: fix devif_poll loop logic

wengzhe commented on PR #8011:
URL: https://github.com/apache/nuttx/pull/8011#issuecomment-1374708439

   > @wengzhe
   > 
   > > Tested on products using bcmf_netdev.c, may have problem when using iperf client with tcp before this commit and won't after this.
   > 
   > Can you explain the problem more concretely? Actually, I noticed that this PR drops iperf performance with qemu-armv8a:netnsh on QEMU-7.1
   > 
   @masayuki2009 
   Sorry for not explaning it concretely, the callback of `devif_poll` (in this case, `bcmf_txpoll`) returns non-zero value to indicate stopping polling, which works well for a long time. But recent changes make the logic of `devif_poll` changed and when the `bcmf_txpoll` returns 1, the polling may continue and call callback again. The callback cannot be called multiple times because `priv->cur_tx_frame` is NULL now, and keeps crashing at https://github.com/apache/nuttx/blob/master/drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c#L192-L193
   This patch is trying to change the behavior of `devif_poll` back to the logic before IOB offload to be compatible with old drivers.
   
   Let me check what's happening on qemu-armv8a:netnsh on QEMU-7.1


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org