tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 82801G_HDA in hdaudiodevs



El 14/06/15 a les 15:10, Antti Kantee ha escrit:
2) hdaudio doesn't work on a regular NetBSD installation under qemu (and probably virtualbox too, though I didn't test with virtualbox)

Just FTR, I had trouble with auich(8) + Rump + Linux-UIO not propagating interrupts on Virtualbox due to shared IRQs.

I suspect it might be a Virtualbox bug, as I couldn't reproduce the problem anywhere other than Vbox, and I didn't
investigate further as I found a simple workaround (attached, maybe someone will find it useful).

--
Robert Millan
Index: linux-3.2.60/drivers/uio/uio_pci_generic.c
===================================================================
--- linux-3.2.60.orig/drivers/uio/uio_pci_generic.c	2014-07-24 18:59:42.916804862 +0200
+++ linux-3.2.60/drivers/uio/uio_pci_generic.c	2014-07-25 09:15:17.660640451 +0200
@@ -65,10 +65,12 @@
 	origcmd = cmd_status_dword;
 	status = cmd_status_dword >> 16;
 
+#if 0
 	/* Check interrupt status register to see whether our device
 	 * triggered the interrupt. */
 	if (!(status & PCI_STATUS_INTERRUPT))
 		goto done;
+#endif
 
 	/* We triggered the interrupt, disable it. */
 	newcmd = origcmd | PCI_COMMAND_INTX_DISABLE;
@@ -154,7 +156,7 @@
 	gdev->info.name = "uio_pci_generic";
 	gdev->info.version = DRIVER_VERSION;
 	gdev->info.irq = pdev->irq;
-	gdev->info.irq_flags = IRQF_SHARED;
+	gdev->info.irq_flags = 0;
 	gdev->info.handler = irqhandler;
 	gdev->pdev = pdev;
 


Home | Main Index | Thread Index | Old Index