Messages in this thread | | | Subject | Re: [PATCH 5/6] iommu/amd: Add support for non-pci devices | From | Wan Zongshun <> | Date | Sat, 9 Jan 2016 17:47:15 +0800 |
| |
-------- Original Message -------- > On Fri, Jan 08, 2016 at 10:52:59PM +0800, Wan Zongshun wrote: >> Actually I am supposing the '.add_device' will be the first called >> in iommu initializing stage, so I think as long as having no error >> of check device here, any call-sites of get_device_id() will be >> fine, because adding device successfully should be the pre-condition >> of any iommu function can be performed, please correct me. >> >> static int amd_iommu_add_device(struct device *dev) >> { >> struct iommu_dev_data *dev_data; >> struct iommu_domain *domain; >> struct amd_iommu *iommu; >> u16 devid; >> int ret; >> >> if (!check_device(dev) || get_dev_data(dev)) >> return 0; >> >> devid = get_device_id(dev); >> iommu = amd_iommu_rlookup_table[devid]; > > There are places in the interrupt remapping code that call get_device_id > without calling check_device first. See get_irq_domain and get_devid. >
Okay, I will change this get_device_id return to int, and judge this return value in caller of this function like get_devid style.
If so we will modify some existing amd iommu driver codes, and Can I merge those into this patch 5/6? or I will create another dedicated patch to take this action?
Vincent.
> > Joerg > >
| |