On Thu, Oct 26, 2017 at 02:26:15PM -0500, Brijesh Singh wrote: > SHUTDOWN command unconditionally transitions a platform to uninitialized > state. The command does not care how many processes are actively using the > PSP. We don't want to shutdown the firmware while other process is still > using it. So why do you have to init and shutdown the PSP each time you execute a command? Why isn't the PSP initialized, *exactly* *once* at driver init and shut down, also exactly once at driver exit? > If other process tries to issue the sev_platform_init/shutdown() then they > have to wait. Exactly, and not what you said earlier: "If process "A" calls sev_platform_init() and if it gets preempted due to whatever reason then we don't want another process to issue the shutdown command while process "A" is in middle of sev_platform_init()." IOW, if your critical regions are protected properly by a mutex, nothing like the above will happen. But what you're trying to explain to me is that the fw_init_count is going to prevent a premature shutdown when it is > 1. But that's not what I meant... Anyway, see my question above. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --