Bug 379601 - dedicating a PCI device results in error: "function takes exactly 4 arguments (3 given)"
dedicating a PCI device results in error: "function takes exactly 4 arguments...
Status: CLOSED DUPLICATE of bug 339421
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xen (Show other bugs)
5.1
i386 Linux
low Severity low
: ---
: ---
Assigned To: Xen Maintainance List
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-11-13 04:38 EST by Joachim Schröder
Modified: 2009-12-14 16:25 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-12-11 02:25:50 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Joachim Schröder 2007-11-13 04:38:51 EST
Description of problem:
Dedicating a PCI device on RHEL 5.1 (2.6.18-53.el5xen) results in a python 
error.

/etc/modprobe.conf:
options pciback hide=(0000:04:00.0)(0000:04:03.0)
#04:00.0 Ethernet controller: Atheros Communications, Inc. AR5212/AR5213 
Multiprotocol MAC/baseband processor (rev 01)
install ipw2200 /sbin/modprobe 
pciback ; /sbin/modprobe --first-time --ignore-install ipw2200

xen config contains:
pci = [ '04:00.0' ]

xend.log:
[2007-11-12 20:30:31 xend 11387] INFO (pciquirk:91) NO quirks found for PCI 
device [168c:0013:1186:3a13]
[2007-11-12 20:30:31 xend 11387] DEBUG (pciquirk:131) Permissive mode NOT 
enabled for PCI device [168c:0013:1186:3a13]
[2007-11-12 20:30:31 xend 11387] DEBUG (pciif:171) pci: enabling iomem 
0xfd8e0000/0x10000 pfn 0xfd8e0/0x10
[2007-11-12 20:30:31 xend.XendDomainInfo 11387] ERROR (XendDomainInfo:212) 
Domain construction failed
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
205, in create
    vm.initDomain()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1463, in initDomain
    self.createDevices()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1679, in createDevices
    self.createDevice(n, c)
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1154, in createDevice
    return self.getDeviceController(deviceClass).createDevice(devconfig)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/DevController.py", 
line 80, in createDevice
    (devid, back, front) = self.getDeviceDetails(config)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/pciif.py", line 90, 
in getDeviceDetails
    self.setupDevice(domain, bus, slot, func)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/pciif.py", line 176, 
in setupDevice
    nr_pfns = nr_pfns,
TypeError: function takes exactly 4 arguments (3 given)
[2007-11-12 20:30:31 xend.XendDomainInfo 11387] DEBUG (XendDomainInfo:1557) 
XendDomainInfo.destroy: domid=18
[2007-11-12 20:30:31 xend.XendDomainInfo 11387] DEBUG (XendDomainInfo:1566) 
XendDomainInfo.destroyDomain(18)
[2007-11-12 20:30:31 xend 11387] ERROR (xmlrpclib2:184) function takes exactly 
4 arguments (3 given)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/xen/util/xmlrpclib2.py", line 162, in 
_marshaled_dispatch
    response = self._dispatch(method, params)
  File "/usr/lib/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
    return func(*params)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/XMLRPCServer.py", 
line 64, in domain_create
    info = XendDomain.instance().domain_create(config)
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomain.py", line 228, in 
domain_create
    dominfo = XendDomainInfo.create(config)
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
205, in create
    vm.initDomain()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1463, in initDomain
    self.createDevices()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1679, in createDevices
    self.createDevice(n, c)
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 
1154, in createDevice
    return self.getDeviceController(deviceClass).createDevice(devconfig)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/DevController.py", 
line 80, in createDevice
    (devid, back, front) = self.getDeviceDetails(config)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/pciif.py", line 90, 
in getDeviceDetails
    self.setupDevice(domain, bus, slot, func)
  File "/usr/lib/python2.4/site-packages/xen/xend/server/pciif.py", line 176, 
in setupDevice
    nr_pfns = nr_pfns,
TypeError: function takes exactly 4 arguments (3 given)

How reproducible:
try to dedicate a PCI device to a guest.
Comment 1 Joachim Schröder 2007-12-11 02:25:50 EST
patch from bug #339421 resolves the issue.
jos

*** This bug has been marked as a duplicate of 339421 ***

Note You need to log in before you can comment on or make changes to this bug.