On Thu, 2022-11-17 at 16:36 -0800, Alan Previn wrote:
> A driver bug was recently discovered where the security firmware was
> receiving internal HW signals indicating that session key expirations
> had occurred. Architecturally, the firmware was expecting a response
> from the GuC to acknowledge the event with the firmware side.
> However the OS was in a suspended state and GuC had been reset.
> Internal specifications actually required the driver to ensure
> that all active sessions be properly cleaned up in such cases where
> the system is suspended and the GuC potentially unable to respond.
> 
> This patch adds the global teardown code in i915's suspend_prepare
> code path.
> 
> Signed-off-by: Alan Previn <[email protected]>
> ---
> --- a/drivers/gpu/drm/i915/pxp/intel_pxp_pm.c
> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_pm.c
> @@ -14,7 +14,7 @@ void intel_pxp_suspend_prepare(struct intel_pxp *pxp)
>       if (!intel_pxp_is_enabled(pxp))
>               return;
>  
> -     pxp->arb_is_valid = false;
> +     intel_pxp_end(pxp);
>  
>       intel_pxp_invalidate(pxp);
>  }
We discovered that depending on the runtime-pm behavior of the platform, this 
patch uncovers a hang on the mei component
driver (when calling the mei-pxp's interface for sending messages to the 
firmware from within the suspend-prepare
callstack).

As soon as that mei patch is fit for publication we shall either merge the 
patches into a single series or provide a
link from here.

...alan

Reply via email to