# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1208786365 -3600
# Node ID 84b5dee690f52236b7d048276b300028fef3a54a
# Parent d03f1c098a1e24757cf033cc5494494bd04ba04c
AMD IOV: Fix xen boot on non-iommu systems.
Signed-off-by: Wei Wang <wei.wang2@xxxxxxx>
---
xen/drivers/passthrough/amd/iommu_detect.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff -r d03f1c098a1e -r 84b5dee690f5 xen/drivers/passthrough/amd/iommu_detect.c
--- a/xen/drivers/passthrough/amd/iommu_detect.c Mon Apr 21 14:55:15
2008 +0100
+++ b/xen/drivers/passthrough/amd/iommu_detect.c Mon Apr 21 14:59:25
2008 +0100
@@ -216,24 +216,24 @@ static int __init scan_functions_for_iom
int bus, int dev, iommu_detect_callback_ptr_t iommu_detect_callback)
{
int func, hdr_type;
- int count, error = 0;
-
- func = 0;
- count = 1;
- while ( VALID_PCI_VENDOR_ID(pci_conf_read16(bus, dev, func,
- PCI_VENDOR_ID)) &&
- !error && (func < count) )
+ int count = 1, error = 0;
+
+ for ( func = 0;
+ (func < count) && !error &&
+ VALID_PCI_VENDOR_ID(pci_conf_read16(bus, dev, func,
+ PCI_VENDOR_ID));
+ func++ )
+
{
hdr_type = pci_conf_read8(bus, dev, func, PCI_HEADER_TYPE);
- if ( func == 0 && IS_PCI_MULTI_FUNCTION(hdr_type) )
+ if ( (func == 0) && IS_PCI_MULTI_FUNCTION(hdr_type) )
count = PCI_MAX_FUNC_COUNT;
if ( IS_PCI_TYPE0_HEADER(hdr_type) ||
IS_PCI_TYPE1_HEADER(hdr_type) )
error = scan_caps_for_iommu(bus, dev, func,
iommu_detect_callback);
- func++;
}
return error;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|