summaryrefslogtreecommitdiffstats
path: root/drivers/pci/dmar.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2008-09-04 01:58:35 +0200
committerIngo Molnar <mingo@elte.hu>2008-10-16 16:53:05 +0200
commit1c7d1bcad218808a4f67a4492a5e1d920e85c239 (patch)
treec38074ceba9a32fd42a815b459205cc0ed715923 /drivers/pci/dmar.c
parentdmar: use list_for_each_entry_safe() in dmar_dev_scope_init() (diff)
downloadlinux-1c7d1bcad218808a4f67a4492a5e1d920e85c239.tar.xz
linux-1c7d1bcad218808a4f67a4492a5e1d920e85c239.zip
dmar: fix dmar_parse_dev() devices_cnt error condition check
It is possible that, instead of PCI endpoint/sub-hierarchy structures, only IO-APIC/HPET devices may be reported under device scope structures. Fix the devices_cnt error check, which cares about only PCI structures and removes the dma-remapping unit structure (dmaru) when the devices_cnt is zero and include_all flag is not set. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Acked-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/pci/dmar.c')
-rw-r--r--drivers/pci/dmar.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
index ceb338dfa3f2..9527405ae198 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -212,7 +212,7 @@ dmar_parse_dev(struct dmar_drhd_unit *dmaru)
include_all = 1;
}
- if (ret || (dmaru->devices_cnt == 0 && !dmaru->include_all)) {
+ if (ret) {
list_del(&dmaru->list);
kfree(dmaru);
}