aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/gus
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/gus')
-rw-r--r--sound/isa/gus/gus_mem.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sound/isa/gus/gus_mem.c b/sound/isa/gus/gus_mem.c
index f50c276caee8..7107753b85b5 100644
--- a/sound/isa/gus/gus_mem.c
+++ b/sound/isa/gus/gus_mem.c
@@ -143,9 +143,8 @@ static int snd_gf1_mem_find(struct snd_gf1_mem * alloc,
143 struct snd_gf1_mem_block *pblock; 143 struct snd_gf1_mem_block *pblock;
144 unsigned int ptr1, ptr2; 144 unsigned int ptr1, ptr2;
145 145
146 align--; 146 if (w_16 && align < 2)
147 if (w_16 && align < 1) 147 align = 2;
148 align = 1;
149 block->flags = w_16 ? SNDRV_GF1_MEM_BLOCK_16BIT : 0; 148 block->flags = w_16 ? SNDRV_GF1_MEM_BLOCK_16BIT : 0;
150 block->owner = SNDRV_GF1_MEM_OWNER_DRIVER; 149 block->owner = SNDRV_GF1_MEM_OWNER_DRIVER;
151 block->share = 0; 150 block->share = 0;
@@ -165,7 +164,7 @@ static int snd_gf1_mem_find(struct snd_gf1_mem * alloc,
165 if (pblock->next->ptr < boundary) 164 if (pblock->next->ptr < boundary)
166 ptr2 = pblock->next->ptr; 165 ptr2 = pblock->next->ptr;
167 } 166 }
168 ptr1 = (pblock->ptr + pblock->size + align) & ~align; 167 ptr1 = ALIGN(pblock->ptr + pblock->size, align);
169 if (ptr1 >= ptr2) 168 if (ptr1 >= ptr2)
170 continue; 169 continue;
171 size1 = ptr2 - ptr1; 170 size1 = ptr2 - ptr1;