Re: PCI Passthrough, error: The driver 'pci-stub' is occupying your device 0000:08:06.2

James Neave
2011-02-28T20:26:00Z

On Mon, Feb 28, 2011 at 3:31 PM, Chris Wright <chrisw@sous-sol.org> wrote:
> * James Neave (roboj1m@gmail.com) wrote:
>> HOLY CRAP IT WORKS!!!! 8@
>
>
> Hey, great! ;)
>
>> ...almost...
>>
>> OK, "clear_emulator_capabilities=0" solved the IRQ problem (which was,
>> as it turns out, the rawio problem)
>> My VM came up, both the tuners were there and after the firmware
>> install I was able to tune and watch the slowest TV in the world over
>> VNC.
>>
>> Thank god for that, i was really starting to believe that slashing out
>> a lot of cash on my 890FX board and the fancy DDR3 ram it needed was a
>> collosal waste of money.
>> "Sigh of relief"
>>
>> Well, thank you all so much for helping me to get to this point!
>>
>> And yes, I did say "almost works"
>>
>> Looks like I've run straight into Chris' ref counting problem when
>> shutting the guest down.
>> Some sort of critical error barf was on the servers' screen when I
>> shut down the guest, appeared to be very similar to Chris' example, in
>> amd_iommu.c
>>
>> I'd post it but the server locks up after it's been shown and needed
>> resetting. No idea how I would post that bit of dmesg as it gets reset
>> after each boot.
>>
>> Is there a solution for this at the moment or will I have to wait for
>> it to be patched?
>
> No solution at the moment.  Will keep you posted.
>
> thanks,
> -chris
>

Ah, I see, this is the side effect of detaching it from the domain,
means it fails here:

BUG_ON(!dev_data->domain);

in __detach_device because now domain is null?

I see what you mean about ref counting.

I was thinking about just hacking in a "fake_detach" method that just
knocks one off the device count for the moment so I can at least
shutdown the VM and reboot the host cleanly without having to hit the
reset button.
Or maybe just comment out the BUG_ON lines (assuming this is what
causes it to bomb out)
At least until someone who knows what they are doing fixes it properly anyway!

James.