Page MenuHomeFreeBSD

urtwn(4): improve RX filter
ClosedPublic

Authored by avos on Oct 25 2015, 11:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 27 2023, 10:37 AM
Unknown Object (File)
Dec 27 2023, 10:31 AM
Unknown Object (File)
Dec 22 2023, 7:54 AM
Unknown Object (File)
Aug 7 2023, 7:29 AM
Unknown Object (File)
Apr 25 2023, 12:30 AM
Unknown Object (File)
Mar 17 2023, 6:05 AM
Unknown Object (File)
Feb 16 2023, 9:45 PM
Unknown Object (File)
Feb 16 2023, 9:41 PM
Subscribers

Details

Summary
  • Filter out unneeded frames in STA mode.
  • Implement ic_promisc() call.
Test Plan

Tested with RTL8188EU, STA and MONITOR modes.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

avos retitled this revision from to urtwn(4): improve RX filter.
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added reviewers: adrian, kevlo.
avos set the repository for this revision to rS FreeBSD src repository - subversion.

It seems that vendor drivers (rtl8188eu and rtl8188cu/rtl8192cu)
mess with both R92C_RXFLTMAP* and R92C_RCR.
I'd like to know more about the difference between RCR and R92C_RXFLTMAP*
registers.

If you tested it and it works fine for you, please commit it, thanks.

In D3999#83473, @kevlo wrote:

It seems that vendor drivers (rtl8188eu and rtl8188cu/rtl8192cu)
mess with both R92C_RXFLTMAP* and R92C_RCR.
I'd like to know more about the difference between RCR and R92C_RXFLTMAP*
registers.

If you tested it and it works fine for you, please commit it, thanks.

R92C_RXFLTMAP* allows to receive some selected frame subtypes (each bit - 1 subtype; 1 - enable, 0 - disable).
R92C_A?F flags - unconditionally receive All Control / Data / Management Frames (i.e., contents of corresponding R92C_RXFLTMAP* will be ignored).

adrian edited edge metadata.

Please add the lock assertions and then yup, go ahead and commit it! THanks!

sys/dev/usb/wlan/if_urtwn.c
2788 ↗(On Diff #9696)

Whilst here, also add a lock/unlock assert.

3169 ↗(On Diff #9696)

Add a lock-assert call here if we're supposed to call it with the lock held.

(And if we're supposed to call it with the lock /not/ held, then add an unlock-assert.)

This revision is now accepted and ready to land.Oct 25 2015, 3:39 PM
avos edited edge metadata.
  • Add URTWN_ASSERT_LOCKED(sc) where needed.
  • Sort local variables.
This revision now requires review to proceed.Oct 25 2015, 3:53 PM
In D3999#83480, @adrian wrote:

Please add the lock assertions and then yup, go ahead and commit it! THanks!

What about dependencies?

avos marked 2 inline comments as done.Oct 25 2015, 3:54 PM
adrian edited edge metadata.

All good!

This revision is now accepted and ready to land.Oct 26 2015, 11:51 AM
This revision was automatically updated to reflect the committed changes.