mbox series

[00/55] Improve wfx driver

Message ID 20191216170302.29543-1-Jerome.Pouiller@silabs.com (mailing list archive)
Headers show
Series Improve wfx driver | expand

Message

Jérôme Pouiller Dec. 16, 2019, 5:03 p.m. UTC
From: Jérôme Pouiller <jerome.pouiller@silabs.com>

Hello all,

This pull request continue to clean up the wfx driver. It can be more or
less divided in four parts:
  - 0001 to 0009 fix some issues (should be included in 5.5?)
  - 0010 to 0028 mostly contains cosmetics changes
  - 0029 to 0043 re-work power save (in station mode) and QoS
  - 0044 to 0054 re-work the scan process

The last patch updates the TODO with a more precise list. I included
references to discussions I have had on mailing lists, in order to not
forget them. I started the first items of the list and I hope to be able
to send another (smaller) pull request in 2-3 weeks.

Jérôme Pouiller (55):
  staging: wfx: fix the cache of rate policies on interface reset
  staging: wfx: fix case of lack of tx_retry_policies
  staging: wfx: fix counter overflow
  staging: wfx: use boolean appropriately
  staging: wfx: firmware does not support more than 32 total retries
  staging: wfx: fix rate control handling
  staging: wfx: ensure that retry policy always fallbacks to MCS0 /
    1Mbps
  staging: wfx: detect race condition in WEP authentication
  staging: wfx: fix hif_set_mfp() with big endian hosts
  staging: wfx: fix wrong error message
  staging: wfx: increase SPI bus frequency limit
  staging: wfx: don't print useless error messages
  staging: wfx: avoid double warning when no more tx policy are
    available
  staging: wfx: improve error message on unexpected confirmation
  staging: wfx: take advantage of IS_ERR_OR_NULL()
  staging: wfx: uniformize naming rule
  staging: wfx: use meaningful names for CFG_BYTE_ORDER_*
  staging: wfx: remove useless include
  staging: wfx: simplify variable assignment
  staging: wfx: make conditions easier to read
  staging: wfx: ensure that traces never modify arguments
  staging: wfx: ensure that received hif messages are never modified
  staging: wfx: fix typo in "num_of_ssi_ds"
  staging: wfx: fix typo in "num_i_es"
  staging: wfx: fix name of struct hif_req_start_scan_alt
  staging: wfx: improve API of hif_req_join->infrastructure_bss_mode
  staging: wfx: better naming for hif_req_join->short_preamble
  staging: wfx: better naming for
    hif_mib_set_association_mode->greenfield
  staging: wfx: simplify handling of tx_lock in wfx_do_join()
  staging: wfx: firmware already handle powersave mode during scan
  staging: wfx: declare wfx_set_pm() static
  staging: wfx: drop useless argument from wfx_set_pm()
  staging: wfx: remove redundant test while calling wfx_update_pm()
  staging: wfx: drop unnecessary wvif->powersave_mode
  staging: wfx: do not try to save call to hif_set_pm()
  staging: wfx: fix pm_mode timeout
  staging: wfx: simplify wfx_conf_tx()
  staging: wfx: prefer a bitmask instead of an array of boolean
  staging: wfx: simplify hif_set_uapsd_info() usage
  staging: wfx: simplify hif_set_pm() usage
  staging: wfx: drop struct wfx_edca_params
  staging: wfx: remove unnecessary EDCA initialisation
  staging: wfx: simplify hif_set_edca_queue_params() usage
  staging: wfx: hif_scan() never fails
  staging: wfx: device already handle sleep mode during scan
  staging: wfx: drop useless wfx_scan_complete()
  staging: wfx: simplify hif_scan() usage
  staging: wfx: introduce update_probe_tmpl()
  staging: wfx: simplify hif_set_template_frame() usage
  staging: wfx: rewrite wfx_hw_scan()
  staging: wfx: workaround bug with "iw scan"
  staging: wfx: delayed_unjoin cannot happen
  staging: wfx: delayed_link_loss cannot happen
  staging: wfx: implement cancel_hw_scan()
  staging: wfx: update TODO

 drivers/staging/wfx/TODO          |  78 +++++--
 drivers/staging/wfx/bh.c          |   3 +-
 drivers/staging/wfx/bus_spi.c     |   9 +-
 drivers/staging/wfx/data_rx.c     |   8 +-
 drivers/staging/wfx/data_rx.h     |   4 +-
 drivers/staging/wfx/data_tx.c     |  40 +++-
 drivers/staging/wfx/data_tx.h     |   7 +-
 drivers/staging/wfx/fwio.c        |  28 +--
 drivers/staging/wfx/hif_api_cmd.h |  32 +--
 drivers/staging/wfx/hif_api_mib.h |  13 +-
 drivers/staging/wfx/hif_rx.c      | 103 +++++----
 drivers/staging/wfx/hif_tx.c      | 105 +++++----
 drivers/staging/wfx/hif_tx.h      |  17 +-
 drivers/staging/wfx/hif_tx_mib.h  |  27 ++-
 drivers/staging/wfx/hwio.h        |  15 +-
 drivers/staging/wfx/main.c        |   5 +-
 drivers/staging/wfx/queue.c       |   9 +-
 drivers/staging/wfx/scan.c        | 325 +++++++--------------------
 drivers/staging/wfx/scan.h        |  25 +--
 drivers/staging/wfx/secure_link.h |   8 +-
 drivers/staging/wfx/sta.c         | 353 ++++++++----------------------
 drivers/staging/wfx/sta.h         |   9 +-
 drivers/staging/wfx/traces.h      |  14 +-
 drivers/staging/wfx/wfx.h         |  18 +-
 24 files changed, 505 insertions(+), 750 deletions(-)