summaryrefslogtreecommitdiff
path: root/drivers/net/ipa/reg/gsi_reg-v5.0.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-12-04 15:31:42 +0300
committerMark Brown <broonie@kernel.org>2023-12-04 15:31:42 +0300
commit06891af2709b5dfa4081ff1f07b9f4c2743834b7 (patch)
tree672f337b94d3af79268a54b5307af1392f708a1a /drivers/net/ipa/reg/gsi_reg-v5.0.c
parent7a030abc0185b30a3fd19a7431347c6f5a82c588 (diff)
parent9b2ef250b31d46f7ef522bd1bd84942f998bb3f9 (diff)
downloadlinux-06891af2709b5dfa4081ff1f07b9f4c2743834b7.tar.xz
spi: spl022: fix sleeping in interrupt context
Merge series from Nam Cao <namcao@linutronix.de>: While running the spl022, I got the following warning: BUG: sleeping function called from invalid context at drivers/spi/spi.c:1428 This is because between spi transfers, spi_transfer_delay_exec() (who may sleep if the delay is >10us) is called in interrupt context. This is a problem for anyone who runs this driver and need more than 10us delay. Patch 1 adds an error reporting mechanism, needed by patch 2 who switch to use the default spi_transfer_one_message(), which fix the problem. The series is tested with polling transfer mode and interrupt transfer mode. I can't test the DMA mode, so some help testing here is very appreciated.
Diffstat (limited to 'drivers/net/ipa/reg/gsi_reg-v5.0.c')
-rw-r--r--drivers/net/ipa/reg/gsi_reg-v5.0.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ipa/reg/gsi_reg-v5.0.c b/drivers/net/ipa/reg/gsi_reg-v5.0.c
index d7b81a36d673..145eb0bd096d 100644
--- a/drivers/net/ipa/reg/gsi_reg-v5.0.c
+++ b/drivers/net/ipa/reg/gsi_reg-v5.0.c
@@ -78,7 +78,7 @@ REG_STRIDE_FIELDS(EV_CH_E_CNTXT_0, ev_ch_e_cntxt_0,
0x0001c000 + 0x12000 * GSI_EE_AP, 0x80);
static const u32 reg_ev_ch_e_cntxt_1_fmask[] = {
- [R_LENGTH] = GENMASK(19, 0),
+ [R_LENGTH] = GENMASK(23, 0),
};
REG_STRIDE_FIELDS(EV_CH_E_CNTXT_1, ev_ch_e_cntxt_1,