[PATCH v3 02/11] iommu: Pass in reset result to pci_dev_reset_iommu_done()
Baolu Lu
baolu.lu at linux.intel.com
Thu Apr 23 19:56:31 PDT 2026
On 4/24/26 10:46, Nicolin Chen wrote:
> On Fri, Apr 24, 2026 at 10:38:09AM +0800, Baolu Lu wrote:
>> On 4/17/26 07:28, Nicolin Chen wrote:
>>> @@ -4083,6 +4093,18 @@ void pci_dev_reset_iommu_done(struct pci_dev *pdev)
>>> if (WARN_ON(!group->blocking_domain))
>>> return;
>>> + /*
>>> + * A reset failure implies that the device might be unreliable. E.g. its
>>> + * device cache might retain stale entries, which potentially results in
>>> + * memory corruption. Thus, do not unblock the device until a successful
>>> + * reset.
>>> + */
>>> + if (!reset_succeeds) {
>>> + pci_err(pdev,
>>> + "Reset failed. Keep it blocked to protect memory\n");
>>> + return;
>>> + }
>>
>> Nit: pci_dev_reset_iommu_done() does nothing if reset_succeeds is false.
>> Would it be better to handle this in the caller instead? Something like:
>>
>> if (reset_succeeds)
>> pci_dev_reset_iommu_done(dev);
>>
>> ?
>
> It would also need a print and some duplicated comments. Actually,
> that would be my v2, which Kevin suggested this against:
> https://lore.kernel.org/all/BN9PR11MB5276706AE4E0BBE86F0F6E158C4EA@BN9PR11MB5276.namprd11.prod.outlook.com/
Oh, I forgot that comment.
> Though I don't have a strong personal reference here, I do see this
> version slightly cleaner than doing in the callers.
Okay, you own the decision.
> Thanks
> Nicolin
Thanks,
baolu
More information about the linux-arm-kernel
mailing list