mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
xend: pci: find_parent: should return string rather than int
Using changeset 19783: 61ec78692b13, device assignment can't work: e.g., in find_the_uppermost_pci_bridge(), parent = dev_parent.find_parent() ... dev_parent = PciDevice(parent), we can see parent['domain'] is int and in PciDevice's __init__, int(dev['domain'], 16) would fail: TypeError: int() can't convert non-string with explicit base Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
This commit is contained in:
1 parent
fb442e2171
commit
b250b06ee4
1 file changed
+4
-4
@@ -547,12 +547,12 @@ class PciDevice:
|
||||
else:
|
||||
dev = {}
|
||||
lst = parent.split(':')
|
||||
dev['domain'] = int(lst[0], 16)
|
||||
dev['bus'] = int(lst[1], 16)
|
||||
dev['domain'] = '%04x' % int(lst[0], 16)
|
||||
dev['bus'] = '%02x' % int(lst[1], 16)
|
||||
lst = lst[2]
|
||||
lst = lst.split('.')
|
||||
dev['slot'] = int(lst[0], 16)
|
||||
dev['func'] = int(lst[1], 16)
|
||||
dev['slot'] = '%02x' % int(lst[0], 16)
|
||||
dev['func'] = '%x' % int(lst[1], 16)
|
||||
return dev
|
||||
except OSError, (errno, strerr):
|
||||
raise PciDeviceParseError('Can not locate the parent of %s',
|
||||
|
||||