mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-07-08 00:23:23 -04:00
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 |
||
---|---|---|
.. | ||
airport.c | ||
cfg.c | ||
cfg.h | ||
fw.c | ||
fw.h | ||
hermes.c | ||
hermes.h | ||
hermes_dld.c | ||
hermes_dld.h | ||
hermes_rid.h | ||
hw.c | ||
hw.h | ||
Kconfig | ||
main.c | ||
main.h | ||
Makefile | ||
mic.c | ||
mic.h | ||
orinoco.h | ||
orinoco_cs.c | ||
orinoco_nortel.c | ||
orinoco_pci.c | ||
orinoco_pci.h | ||
orinoco_plx.c | ||
orinoco_tmd.c | ||
orinoco_usb.c | ||
scan.c | ||
scan.h | ||
spectrum_cs.c | ||
wext.c | ||
wext.h |