patch-2.2.11 linux/drivers/sound/sonicvibes.c
Next file: linux/drivers/sound/sound_calls.h
Previous file: linux/drivers/sound/sgalaxy.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Mon Aug 9 12:04:40 1999
- Orig file:
v2.2.10/linux/drivers/sound/sonicvibes.c
- Orig date:
Mon Apr 12 16:18:27 1999
diff -u --recursive --new-file v2.2.10/linux/drivers/sound/sonicvibes.c linux/drivers/sound/sonicvibes.c
@@ -68,6 +68,9 @@
* SOUND_PCM_READ_CHANNELS, SOUND_PCM_READ_BITS;
* Alpha fixes reported by Peter Jones <pjones@redhat.com>
* Note: dmaio hack might still be wrong on archs other than i386
+ * 15.06.99 0.15 Fix bad allocation bug.
+ * Thanks to Deti Fliegl <fliegl@in.tum.de>
+ * 28.06.99 0.16 Add pci_set_master
*
*/
@@ -699,8 +702,9 @@
db->hwptr = db->swptr = db->total_bytes = db->count = db->error = db->endcleared = 0;
if (!db->rawbuf) {
db->ready = db->mapped = 0;
- for (order = DMABUF_DEFAULTORDER; order >= DMABUF_MINORDER && !db->rawbuf; order--)
- db->rawbuf = (void *)__get_free_pages(GFP_KERNEL | GFP_DMA, order);
+ for (order = DMABUF_DEFAULTORDER; order >= DMABUF_MINORDER; order--)
+ if ((db->rawbuf = (void *)__get_free_pages(GFP_KERNEL | GFP_DMA, order)))
+ break;
if (!db->rawbuf)
return -ENOMEM;
db->buforder = order;
@@ -2321,7 +2325,7 @@
if (!pci_present()) /* No PCI bus in this machine! */
return -ENODEV;
- printk(KERN_INFO "sv: version v0.14 time " __TIME__ " " __DATE__ "\n");
+ printk(KERN_INFO "sv: version v0.16 time " __TIME__ " " __DATE__ "\n");
#if 0
if (!(wavetable_mem = __get_free_pages(GFP_KERNEL, 20-PAGE_SHIFT)))
printk(KERN_INFO "sv: cannot allocate 1MB of contiguous nonpageable memory for wavetable data\n");
@@ -2447,6 +2451,7 @@
goto err_dev3;
if ((s->dev_dmfm = register_sound_special(&sv_dmfm_fops, 15 /* ?? */)) < 0)
goto err_dev4;
+ pci_set_master(pcidev); /* enable bus mastering */
/* initialize the chips */
fs = get_fs();
set_fs(KERNEL_DS);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)