Bug 771129

Summary: pci: PCI Backend and pci-stub don't own device
Product: [Fedora] Fedora Reporter: Robin Green <greenrd>
Component: xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16CC: berrange, jforbes, kraxel, m.a.young, virt-maint, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-04 14:57:38 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Robin Green 2012-01-01 13:56:56 EST
Description of problem:
I have been trying to pass through a PCI device (a USB hub) to a Xen domU. xen refuses to do so, saying the PCI backend and pci-stub don't own the device.

Version-Release number of selected component (if applicable):
xen-4.1.2-2.fc16.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Create F16 domain using virsh-install
2. Use "virsh edit F16" to add the following lines to the config file

    <hostdev mode='subsystem' type='pci' managed='no'>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1a' function='0x0'/>
      </source>
    </hostdev>

3. echo -n 0000\:00\:1a.0 >/sys/bus/pci/drivers/ehci_hcd/unbind
4. Start F16 domain using virt-manager
  
Actual results:
Error dialog appears saying:
Error starting domain: POST operation failed: xend_post: error from xen daemon: (xend.err "pci: PCI Backend and pci-stub don't own device 0000:00:1a.0")

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 44, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1050, in startup
    self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 510, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: POST operation failed: xend_post: error from xen daemon: (xend.err "pci: PCI Backend and pci-stub don't own device 0000:00:1a.0")

Expected results:
Domain should start

Additional info:
I am unable to add the PCI device through virt-manager due to bug 771128.
Comment 1 Robin Green 2012-01-04 14:57:38 EST
The error message was correct. The instructions on the xen wiki were incorrect (I've now fixed them).