patch-2.2.2 linux/drivers/sound/sound_core.c
Next file: linux/drivers/sound/sys_timer.c
Previous file: linux/drivers/sound/sb_ess.c
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Sat Feb 6 12:46:21 1999
- Orig file:
v2.2.1/linux/drivers/sound/sound_core.c
- Orig date:
Tue Jan 19 11:32:52 1999
diff -u --recursive --new-file v2.2.1/linux/drivers/sound/sound_core.c linux/drivers/sound/sound_core.c
@@ -63,6 +63,10 @@
int n=low;
if (index < 0) { /* first free */
+
+ while (*list && (*list)->unit_minor<n)
+ list=&((*list)->next);
+
while(n<top)
{
/* Found a hole ? */
@@ -73,7 +77,7 @@
}
if(n>=top)
- return -ENOMEM;
+ return -ENOENT;
} else {
n = low+(index*16);
while (*list) {
@@ -141,13 +145,13 @@
int r;
struct sound_unit *s=(struct sound_unit *)kmalloc(sizeof(struct sound_unit), GFP_KERNEL);
if(s==NULL)
- return -1;
+ return -ENOMEM;
spin_lock(&sound_loader_lock);
r=__sound_insert_unit(s,list,fops,index,low,top);
spin_unlock(&sound_loader_lock);
- if(r==-1)
+ if(r<0)
kfree(s);
return r;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)