> The hwspinlock_tree_lock is not needed as the
> spinlock built into the XArray is sufficient for all these cases.

Are you sure about this?

In hwspin_lock_request_specific(), the spinlock is taken, then:

hwspin_lock_request_specific()

-> __hwspin_lock_request()
  -> pm_runtime_get_sync()
    -> __pm_runtime_resume()

This starts with:

        might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe &&
                        dev->power.runtime_status != RPM_ACTIVE);

Isn't this a problem?


Reply via email to