2018-08-19 05:32:15

by Farhan Khan

[permalink] [raw]
Subject: rtlwifi/rtl8188ee: _rtl_pci_rx_interrupt equivalent dropping frames

Hi all,

I am working on porting the rtlwifi/rtl8188ee to expand FreeBSD's
equivalent rtwn driver. In the equivalent code, the function
_rtl_pci_rx_interrupt from drivers/net/wireless/realtek/rtlwifi/pci.c
runs into the if-condition:

if (own) /* wait data to be filled by hardware */
return;

The equivalent of this on FreeBSD is returning true, thus resulting in
excessively dropped frames. Based on the surrounding code on the Linux
side, this suggests that data has not been filled by Realtek device,
despite the device triggering an interrupt.

What would cause the device to issue an interrupt, but continuously
return true on this if-statement? Is this indicative of anything?
Are there any register values during initialization that may suggest
this happening?

Its quite difficult to work on this without documentation, so your help
is *greatly* appreciated.

Thank you,

--
Farhan Khan
PGP Fingerprint: B28D 2726 E2BC A97E 3854 5ABE 9A9F 00BC D525 16EE