On 10/6/17 1:49 PM, Borislav Petkov wrote: ... >> +static int sev_wait_cmd_ioc(struct psp_device *psp, unsigned int *reg) >> +{ >> + psp->sev_int_rcvd = 0; >> + >> + wait_event(psp->sev_int_queue, psp->sev_int_rcvd); > What happens if the command times out and it never sets psp->sev_int_rcvd? Sorry i missed replying on this comment. We should not run into cases where after issuing PSP command we do not get an interrupt. I would prefer to avoid adding the timeout value. At least so far in all my runs I have not came across this situation but it can happen ;). The tricky part is, what should be the default timeout value. Depending on the user inputs some commands can take long time.