Bug 180997: Sound does not work when booting with xen

Jason Montleon monty19 at hotmail.com
Thu Mar 9 14:37:55 UTC 2006


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. 




More information about the fedora-test-list mailing list