Date: Mon, 14 May 2018 12:48:17 -0400 From: Farhan Khan <khanzf@gmail.com> To: freebsd-wireless@freebsd.org Subject: Handling C2H debug interrupt on rtwn(8) Message-ID: <CAFd4kYCr%2BTdWxdjbajFobDBQ7NtyJcK8NWOoRbehUKMuLywqCQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFd4kYCr%2BTdWxdjbajFobDBQ7NtyJcK8NWOoRbehUKMuLywqCQ>