+ if (err == -ENOMEM) {
+ /* use continuous buffers */
+ harmony->dma_dev.type = SNDRV_DMA_TYPE_CONTINUOUS;
+ harmony->dma_dev.dev = snd_dma_continuous_data(GFP_KERNEL);
+ err = snd_dma_alloc_pages(harmony->dma_dev.type,
+ harmony->dma_dev.dev,
+ HARMONY_BUF_SIZE*GRAVEYARD_BUFS,
+ &harmony->graveyard_dma);
+ }
+ if (err < 0) {
+ printk(KERN_ERR PFX "can't allocate graveyard buffer\n");