immortalwrt/target
Thomas Nixon d3b47909b1 lantiq: nand: don't yield while holding spinlock
The nand driver normally while waiting for the device to become ready;
this is normally fine, but xway_nand holds the ebu_lock spinlock, and
this can cause lockups if other threads which use ebu_lock are
interleaved. Fix this by waiting instead of polling.

This mainly showed up as crashes in ath9k_pci_owl_loader (see
https://github.com/openwrt/openwrt/issues/9829 ), but turning on
spinlock debugging shows this happening in other places too.

This doesn't seem to measurably impact boot time.

Tested on bt_homehub-v5a with 5.10 and 5.15.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
[Add commit description into patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-04-02 17:08:45 +02:00
..
imagebuilder imagebuilder: allow to specific ROOTFS_PARTSIZE 2023-03-14 19:00:47 +01:00
linux lantiq: nand: don't yield while holding spinlock 2023-04-02 17:08:45 +02:00
llvm-bpf
sdk sdk: expose PATENTED an NLS build options 2023-03-05 18:31:21 +01:00
toolchain toolchain: wrapper.sh: use --rpath-link 2023-02-12 10:55:06 -03:00
Config.in
Makefile