linux/drivers/net/ipa
Caleb Connolly 9ec9b2a308 net: ipa: disable ipa interrupt during suspend
The IPA interrupt can fire when pm_runtime is disabled due to it racing
with the PM suspend/resume code. This causes a splat in the interrupt
handler when it tries to call pm_runtime_get().

Explicitly disable the interrupt in our ->suspend callback, and
re-enable it in ->resume to avoid this. If there is an interrupt pending
it will be handled after resuming. The interrupt is a wake_irq, as a
result even when disabled if it fires it will cause the system to wake
from suspend as well as cancel any suspend transition that may be in
progress. If there is an interrupt pending, the ipa_isr_thread handler
will be called after resuming.

Fixes: 1aac309d32 ("net: ipa: use autosuspend")
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20230115175925.465918-1-caleb.connolly@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-01-17 19:04:13 -08:00
..
data net: ipa: correct IPA v4.7 IMEM offset 2023-01-09 07:26:59 +00:00
reg net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
Kconfig net: ipa: add an interconnect dependency 2022-03-02 22:14:05 -08:00
Makefile net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
gsi.c net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
gsi.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
gsi_private.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
gsi_reg.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
gsi_trans.c net: ipa: Proactively round up to kmalloc bucket size 2022-10-20 10:13:54 +02:00
gsi_trans.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa.h net: ipa: use a bitmap for enabled endpoints 2022-11-04 10:16:53 +00:00
ipa_cmd.c net: ipa: determine filter table size from memory region 2022-10-27 13:38:13 +02:00
ipa_cmd.h net: ipa: introduce ipa_cmd_init() 2022-10-25 11:15:19 +02:00
ipa_data.h net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
ipa_endpoint.c net: ipa: use a bitmap for enabled endpoints 2022-11-04 10:16:53 +00:00
ipa_endpoint.h net: ipa: support more filtering endpoints 2022-11-04 10:16:53 +00:00
ipa_gsi.c net: ipa: include declarations in "ipa_gsi.c" 2020-07-07 12:43:18 -07:00
ipa_gsi.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_interrupt.c net: ipa: disable ipa interrupt during suspend 2023-01-17 19:04:13 -08:00
ipa_interrupt.h net: ipa: disable ipa interrupt during suspend 2023-01-17 19:04:13 -08:00
ipa_main.c net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
ipa_mem.c net: ipa: change an IPA v5.0 memory requirement 2022-10-28 22:06:46 -07:00
ipa_mem.h net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_modem.c net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_modem.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_power.c net: ipa: disable ipa interrupt during suspend 2023-01-17 19:04:13 -08:00
ipa_power.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_qmi.c net: ipa: don't assume 8 modem routing table entries 2022-10-27 13:38:13 +02:00
ipa_qmi.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_qmi_msg.c net: ipa: Make QMI message rules const 2022-10-21 12:39:16 +01:00
ipa_qmi_msg.h net: ipa: Make QMI message rules const 2022-10-21 12:39:16 +01:00
ipa_reg.c net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
ipa_reg.h net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00
ipa_resource.c net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_resource.h net: ipa: get rid of empty IPA functions 2021-04-09 20:57:25 -07:00
ipa_smp2p.c net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_smp2p.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_sysfs.c net: ipa: use sysfs_emit() to instead of scnprintf() 2022-12-05 11:03:49 +00:00
ipa_sysfs.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_table.c net: ipa: avoid a null pointer dereference 2022-11-18 11:46:18 +00:00
ipa_table.h net: ipa: support more filtering endpoints 2022-11-04 10:16:53 +00:00
ipa_uc.c net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_uc.h net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipa_version.h net: ipa: add IPA v4.7 support 2022-12-12 15:55:06 -08:00