WSL2-Linux-Kernel/drivers/net/wireless/intersil/orinoco
Sebastian Andrzej Siewior a3d8a2599d orinoco: Annotate ezusb_read_ltv()
ezusb_read_ltv() is always invoked via the ->read_ltv() callback. This
callback is mostly invoked under orinoco_lock() which disables BH.

There are a few invocations during probe which occur in preemptible
context via:
   ezusb_probe() -> orinoco_init() -> determine_fw_capabilities()

Extend `hermes_ops' with the ->read_ltv_pr callback which is implemented
with the same callback like ->read_ltv on `hermes_ops_local'.
On `ezusb_ops' ->read_ltv is used for callbacks under the lock which
need to poll.
The new ->read_ltv_pr() is used in the preemptible context in which it
is possible to wait for the completion. Provide HERMES_READ_RECORD_PR()
and hermes_read_wordrec_pr() which behave like their non _pr equivalents
and invoke ->read_ltv_pr().

This removes the last user of ezusb_req_ctx_wait() and can now be
removed.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201113212252.2243570-11-bigeasy@linutronix.de
2020-11-24 17:01:19 +02:00
..
Kconfig b43: Replace HTTP links with HTTPS ones 2020-08-02 18:16:35 +03:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
airport.c
cfg.c cfg80211: move add/change interface monitor flags into params 2017-04-13 13:41:38 +02:00
cfg.h
fw.c orinoco: Replace zero-length array with flexible-array member 2020-03-23 18:59:50 +02:00
fw.h
hermes.c orinoco: Annotate ezusb_read_ltv() 2020-11-24 17:01:19 +02:00
hermes.h orinoco: Annotate ezusb_read_ltv() 2020-11-24 17:01:19 +02:00
hermes_dld.c orinoco: Replace zero-length array with flexible-array member 2020-03-23 18:59:50 +02:00
hermes_dld.h
hermes_rid.h
hw.c orinoco: Annotate ezusb_read_ltv() 2020-11-24 17:01:19 +02:00
hw.h
main.c intersil: convert tasklets to use new tasklet_setup() API 2020-08-27 16:22:09 +03:00
main.h
mic.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
mic.h orinoco: Use shash instead of ahash for MIC calculations 2016-12-30 13:34:15 +02:00
orinoco.h netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
orinoco_cs.c
orinoco_nortel.c orinoco: use generic power management 2020-07-15 13:38:26 +03:00
orinoco_pci.c orinoco: use generic power management 2020-07-15 13:38:26 +03:00
orinoco_pci.h orinoco: use generic power management 2020-07-15 13:38:26 +03:00
orinoco_plx.c orinoco: use generic power management 2020-07-15 13:38:26 +03:00
orinoco_tmd.c orinoco: use generic power management 2020-07-15 13:38:26 +03:00
orinoco_usb.c orinoco: Annotate ezusb_read_ltv() 2020-11-24 17:01:19 +02:00
scan.c nl80211: support beacon report scanning 2016-07-06 14:51:31 +02:00
scan.h
spectrum_cs.c orinoco: remove useless variable 'err' in spectrum_cs_suspend() 2020-04-15 11:46:49 +03:00
wext.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
wext.h