Messages in this thread | | | Date | Thu, 27 Apr 2017 23:12:32 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH 1/2] iommu/s390: Fix IOMMU groups |
| |
On Thu, Apr 27, 2017 at 08:11:42PM +0200, Gerald Schaefer wrote: > > +void zpci_destroy_iommu(struct zpci_dev *zdev) > > +{ > > + iommu_group_put(zdev->group); > > + zdev->group = NULL; > > +} > > While the rest of this patch doesn't seem to make much of a difference to > the current behavior, I'm wondering where this extra iommu_group_put() > comes from. It either was erroneously missing before this patch, or it > is erroneously introduced by this patch.
This is the way to free an iommu-group. It was missing before probably because it was unclear whether the add_device function allocated a group or not. So there was no way to know if it needs to be put again in the remove_device function.
With this patch the iommu-group is explicitly allocated when the zpci_dev is created and destroyed again with it.
Joerg
| |