diff options
Diffstat (limited to 'sound/isa/gus/gus_mem.c')
-rw-r--r-- | sound/isa/gus/gus_mem.c | 7 |
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; |