Handling C2H debug interrupt on rtwn(8)

Farhan Khan khanzf at gmail.com
Mon May 14 16:48:39 UTC 2018


Hi all,

I have a question regarding catching an unhandled C2H event interrupt.

rtwn(4) receives C2H interrupts from the device. One type
is R92C_C2H_EVT_DEBUG as defined in sys/dev/rtwn/rtl8192c/r92c_fw_cmd.h as
0. Interrupts are handled in r92c_handle_c2h_task() in
sys/dev/rtwn/rtl8192c/r92c_fw.c line 479. I noticed that rtl8188ee (driver
in development) sends R92C_C2H_EVT_DEBUG, but they are not handled,
resulting in the 'default' case, which is to print a warning into the
kernel messages buffer.

As a result, I am seeing a ton of warning messages across my terminal 1-2
times a second. This is not a problem for me in development, but would
problematic for any user of the driver, as it would fill up the kernel
messages buffer very quickly.

I reviewed Linux's equivalent code and found that rtl8723ae is the only one
of the rtlwifi drivers that checks C2H_EVT_HOST_CLOSE (also defined as 0),
and immediately just does a 'return'.

Would it be correct for me to imitate this behavior, check for the same C2H
message type, and immediately issue a 'break'? I did so in my dev
repository here:
https://github.com/khanzf/rtl8188ee/commit/b9dd37c8f40af1bda1ec8d82fdaa051840b85e75
.

Thanks!

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


More information about the freebsd-wireless mailing list