This is a list of things that need to be done to get this driver out of the staging directory. - The HIF API is not yet clean enough. - The code that check the corectness of received message (in rx_helper()) can be improved. See: https://lore.kernel.org/driverdev-devel/2302785.6C7ODC2LYm@pc-42/ - As suggested by Felix, rate control could be improved following this idea: https://lore.kernel.org/lkml/3099559.gv3Q75KnN1@pc-42/ - Feature called "secure link" should be either developed (using kernel crypto API) or dropped. - The device allows to filter multicast traffic. The code to support these filters exists in the driver but it is disabled because it has never been tested. - In wfx_cmd_send(), "async" allow to send command without waiting the reply. It may help in some situation, but it is not yet used. In add, it may cause some trouble: https://lore.kernel.org/driverdev-devel/alpine.DEB.2.21.1910041317381.2992@hadrien/ So, fix it (by replacing the mutex with a semaphore) or drop it.