linux/drivers/net/wireless/ti
Tony Lindgren f0325e38ab wlcore: Use spin_trylock in wlcore_irq_locked() for running the queue
We currently have a collection of flags and locking between the
threaded irq and tx work:

- wl->flags bitops
- wl->mutex
- wl->wl_lock spinlock

The bitops flags do not need a spinlock around them, and
wlcore_irq() already holds the mutex calling wlcore_irq_locked().
And we only need the spinlock to see if we need to run the queue
or not.

To simplify the locking, we can use spin_trylock and always run the
tx queue unless we know there's nothing to do.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200702162951.45392-3-tony@atomide.com
2020-07-15 12:12:29 +03:00
..
wl12xx treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
wl18xx treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
wl1251 treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
wlcore wlcore: Use spin_trylock in wlcore_irq_locked() for running the queue 2020-07-15 12:12:29 +03:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
wilink_platform_data.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00