diff options
| author | Peng Fan <van.freenix@gmail.com> | 2015-11-20 16:56:18 +0800 | 
|---|---|---|
| committer | Will Deacon <will.deacon@arm.com> | 2015-12-17 12:05:33 +0000 | 
| commit | 9a4a9d8c34bc0b0102e8a9dd67ee3910b0bfaeb4 (patch) | |
| tree | d3f00b4266cfbe5cc38473296e206c07d5e91159 /scripts/gdb/linux/lists.py | |
| parent | a0eacd89e35e55aad284cc2e6865bf2dcf7037ba (diff) | |
iommu/arm-smmu: Correct group reference count
The basic flow for add a device:
 arm_smmu_add_device
        |->iommu_group_get_for_dev
            |->iommu_group_get
                     return group;  (1)
            |->ops->device_group : Init/increase reference count to/by 1.
            |->iommu_group_add_device : Increase reference count by 1.
		     return group   (2)
        |->return 0;
Since we are adding one device, the flow is (2) and the group reference
count will be increased by 2. So, we need to add iommu_group_put at the
end of arm_smmu_add_device to decrease the count by 1.
Also take the failure path into consideration when fail to add a device.
Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'scripts/gdb/linux/lists.py')
0 files changed, 0 insertions, 0 deletions
