staging: wfx: update TODO

Update the TODO list associated to the wfx driver with the last
progresses and last remarks made by reviewers.

The items about support for P2P and mesh have also been removed. Indeed,
it seems that the device does not fully support them.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200415161147.69738-21-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jérôme Pouiller 2020-04-15 18:11:47 +02:00 committed by Greg Kroah-Hartman
parent c801351a9d
commit 4ddf14470b

View File

@ -1,26 +1,18 @@
This is a list of things that need to be done to get this driver out of the
staging directory.
- All structures defined in hif_api_*.h are intended to sent/received to/from
hardware. All their members whould be declared __le32 or __le16.
See:
- The HIF API is not yet clean enough.
- Fix support for big endian architectures. See:
https://lore.kernel.org/lkml/20191111202852.GX26530@ZenIV.linux.org.uk
- Once previous item done, it will be possible to audit the driver with
`sparse'. It will probably find tons of problems with big endian
architectures.
- The pointers returned by allocation functions are always checked.
- hif_api_*.h whave been imported from firmware code. Some of the structures
are never used in driver.
- 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/
- Driver try to maintains power save status of the stations. However, this
work is already done by mac80211. sta_asleep_mask and pspoll_mask should be
dropped.
- wfx_tx_queues_get() should be reworked. It currently try compute itself the
QoS policy. However, firmware already do the job. Firmware would prefer to
have a few packets in each queue and be able to choose itself which queue to
use.
- Support for SDIO with external IRQ is broken.
- As suggested by Felix, rate control could be improved following this idea:
https://lore.kernel.org/lkml/3099559.gv3Q75KnN1@pc-42/
@ -28,17 +20,8 @@ staging directory.
- When driver is about to loose BSS, it forge its own Null Func request (see
wfx_cqm_bssloss_sm()). It should use mechanism provided by mac80211.
- AP is actually is setup after a call to wfx_bss_info_changed(). Yet,
ieee80211_ops provide callback start_ap().
- The current process for joining a network is incredibly complex. Should be
reworked.
- Monitoring mode is not implemented despite being mandatory by mac80211.
- "compatible" value are not correct. They should be "vendor,chip". See:
https://lore.kernel.org/driverdev-devel/5226570.CMH5hVlZcI@pc-42
- The "state" field from wfx_vif should be replaced by "vif->type".
- It seems that wfx_upload_keys() is useless.
@ -49,12 +32,13 @@ staging directory.
- 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.
- Chip support P2P, but driver does not implement it.
- Chip support kind of Mesh, but driver does not implement it.