Hi Tomasz,
On 01/17/2018 03:52 PM, JeffyChen wrote:
Hi Tomasz,
On 01/17/2018 03:38 PM, Tomasz Figa wrote:
>>Don't we need to check here (and in _shutdown() too) if we have a
>>domain attached?
>
>hmmm, right, the startup might been called by resume, so should check
>iommu->domain here.
>
>but the shutdown would be called at the end of detach or suspend, it
could
>be not attached or attached.
If startup might be called by resume, without domain attached, what
prevents shutdown from being called by suspend after that resume,
still without domain attached? Is it guaranteed that if resume is
called, someone will attach a domain before suspend is called?
no, the shutdown would be called by:
1/ end of detach_dev
so it would be not attached at that time
2/ suspend
so it could be attached, and also could be not attached
anyway, i think the shutdown would work without domain attached(just
disable paging and clear the iommu bases) ;)
hmmm, i see the problem.
so we need to:
1/ move shutdown a little earlier in detach_dev, so it could still see
the iommu->domain
2/ check iommu->domain in shutdown, to prevent unnecessary shutdown
or maybe just add iommu->domain check in suspend and resume.
Best regards,
Tomasz