[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Bug 180997: Sound does not work when booting with xen



I already added these notes to the bug report; just wondering if anyone on the mailing list can tell me what the check I commented out is trying to protect from happening, how important it is, and why it fails under xen, and how it can be worked around correctly:

I found the cause, and a work around that seems to do the job very well for me, however I am completely unsure of the negative implications of what I've done.

I'm sure someones computer would get up and make a trip to taco bell in the early AM if they did this on their computer. This is a definate case of a little bit of knowledge is a very dangerous thing.

I noticed the message in /var/log/dmesg that read:
"architecture does not support 28bit PCI busmaster DMA"
when booting with the xen kernel.

I downloaded and installed the kernel source RPM and tracked the message down to /usr/src/linux/sound/pci/maestro3.c

I ended up changing the lines that read:
       /* check, if we can restrict PCI DMA transfers to 28 bits */
       if (pci_set_dma_mask(pci, 0x0fffffff) < 0 ||
           pci_set_consistent_dma_mask(pci, 0x0fffffff) < 0) {
snd_printk(KERN_ERR "architecture does not support 28bit PCI busmaster DMA\n");
               pci_disable_device(pci);
               return -ENXIO;
       }

to read like this (commented out the printk, pci disable and return):
       /* check, if we can restrict PCI DMA transfers to 28 bits */
       if (pci_set_dma_mask(pci, 0x0fffffff) < 0 ||
           pci_set_consistent_dma_mask(pci, 0x0fffffff) < 0) {
//snd_printk(KERN_ERR "architecture does not support 28bit PCI busmaster DMA\n");
               //pci_disable_device(pci);
               //return -ENXIO;
       }

From there I compiled the module and replaced the existing snd-maestro3.ko
in /lib/modules/2.6.15-1.2032_FC5xen0/kernel/sound/pci and rebooted to reload all the sound modules and now I have good working sound, with no obvious ill effects.
[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]