Merge branch 'ipa-fixes'
authorDavid S. Miller <davem@davemloft.net>
Tue, 23 Nov 2021 12:06:40 +0000 (12:06 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Nov 2021 12:06:40 +0000 (12:06 +0000)
commit60ebd6737c880e81eefa30b6ea7961fceee4bdec
treed4a21f80ee901c3ccf87cc8806e0ab46598129e4
parentbd08ee2315a30b42a422ad37a0600ab258b90a5b
parent8afc7e471ad3c92a9c96adc62d1b67de77378bb6
Merge branch 'ipa-fixes'

Alex Elder says:

====================
net: ipa: prevent shutdown during setup

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).
====================

Signed-off-by: David S. Miller <davem@davemloft.net>