OSDN Git Service

Merge branch 'smsc95xx-deadlock'
authorDavid S. Miller <davem@davemloft.net>
Mon, 4 Jul 2022 09:39:25 +0000 (10:39 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jul 2022 09:39:25 +0000 (10:39 +0100)
commit5ee4bba272d171e797c1b3c7b5ff889c3a2f0ec9
tree9f58d2ab23fb13af34bf22a6bfd24c0f721c44fb
parent39bfb3c12d792181de0cf3306be1ea03664a1b05
parent03b3df43ce1f64b2ec6ef8cbcf2006f3938643b2
Merge branch 'smsc95xx-deadlock'

Lukas Wunner says:

====================
Deadlock no more in LAN95xx

Second attempt at fixing a runtime resume deadlock in the LAN95xx USB driver:

In short, the driver isn't using the "nopm" register accessors in portions
of its runtime resume path, causing a deadlock.  I'm fixing that by
auto-detecting whether nopm accessors shall be used, instead of
having to explicitly call them wherever it's necessary.
As a byproduct, code size shrinks significantly (see diffstat below).

Back in April I submitted a first attempt which was rejected by Alan Stern:
https://lore.kernel.org/all/6710d8c18ff54139cdc538763ba544187c5a0cee.1651041411.git.lukas@wunner.de/

That approach only detected whether a PM callback is running concurrently,
not whether the access is performed by the PM callback.  I've come up with
a different approach which should resolve the objection (see patch [1/3]).
====================

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