patch-2.0.6 linux/drivers/sound/soundcard.c

Next file: linux/fs/smbfs/proc.c
Previous file: linux/drivers/sound/sb_common.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.5/linux/drivers/sound/soundcard.c linux/drivers/sound/soundcard.c
@@ -289,7 +289,7 @@
 	      size, dmap->bytes_in_use);
     }
 
-  if (remap_page_range (vma_get_start (vma), dmap->raw_buf_phys,
+  if (remap_page_range (vma_get_start (vma), virt_to_phys(dmap->raw_buf),
 			vma_get_end (vma) - vma_get_start (vma),
 			vma_get_page_prot (vma)))
     return -EAGAIN;
@@ -487,6 +487,10 @@
 snd_set_irq_handler (int interrupt_level, void (*iproc) (int, void *, struct pt_regs *), char *name, int *osp)
 {
   int             retcode;
+  unsigned long   flags;
+
+  save_flags (flags);
+  cli ();
 
   retcode = request_irq (interrupt_level, iproc, 0 /* SA_INTERRUPT */ , name, NULL);
   if (retcode < 0)
@@ -496,6 +500,7 @@
   else
     irqs |= (1ul << interrupt_level);
 
+  restore_flags (flags);
   return retcode;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov