Messages in this thread | | | From | Alex Elder <> | Subject | [PATCH net 0/2] net: ipa: prevent shutdown during setup | Date | Mon, 22 Nov 2021 18:15:53 -0600 |
| |
The setup phase of the IPA driver occurs in one of two ways. Normally, it is done directly by the main driver probe function. But some systems (those having a "modem-init" DTS property) don't start setup until an SMP2P interrupt (sent by the modem) arrives.
Because it isn't performed by the probe function, setup on "modem-init" systems could be underway at the time a driver remove (or shutdown) request arrives (or vice-versa). This situation can lead to hardware state not being cleaned up properly.
This series addresses this problem by having the driver remove function disable the setup interrupt. A consequence of this is that setup will complete if it is underway when the remove function is called.
So now, when removing the driver, setup: - will have already completed; - is underway, and will complete before proceeding; or - will not have begun (and will not occur).
-Alex
PS These patches might not back-port cleanly; I'll gladly provide equivalent code for older kernel releases if needed.
Alex Elder (2): net: ipa: directly disable ipa-setup-ready interrupt net: ipa: separate disabling setup from modem stop
drivers/net/ipa/ipa_main.c | 6 ++++++ drivers/net/ipa/ipa_modem.c | 6 +++--- drivers/net/ipa/ipa_smp2p.c | 21 ++++++++++----------- drivers/net/ipa/ipa_smp2p.h | 7 +++---- 4 files changed, 22 insertions(+), 18 deletions(-)
-- 2.32.0
| |