diff options
| author | Takashi Iwai <tiwai@suse.de> | 2022-09-22 13:47:09 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2022-09-22 13:47:09 +0200 |
| commit | cbdac8bc2cbf91b42a92869dc938b809054d4fae (patch) | |
| tree | 06118f3dc9ea6dab868ebc89aad68e19cd4c7800 /kernel/dma/debug.c | |
| parent | 79764ec772bc1346441ae1c4b1f3bd1991d634e8 (diff) | |
| parent | 0a0342ede303fc420f3a388e1ae82da3ae8ff6bd (diff) | |
Merge tag 'asoc-fix-v6.0-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v6.0
A few device specific fixes, nothing too large, and a new device
ID for a Dell laptop.
Diffstat (limited to 'kernel/dma/debug.c')
| -rw-r--r-- | kernel/dma/debug.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c index 2caafd13f8aa..18c93c2276ca 100644 --- a/kernel/dma/debug.c +++ b/kernel/dma/debug.c @@ -350,11 +350,10 @@ static struct dma_debug_entry *bucket_find_contain(struct hash_bucket **bucket, unsigned long *flags) { - unsigned int max_range = dma_get_max_seg_size(ref->dev); struct dma_debug_entry *entry, index = *ref; - unsigned int range = 0; + int limit = min(HASH_SIZE, (index.dev_addr >> HASH_FN_SHIFT) + 1); - while (range <= max_range) { + for (int i = 0; i < limit; i++) { entry = __hash_bucket_find(*bucket, ref, containing_match); if (entry) @@ -364,7 +363,6 @@ static struct dma_debug_entry *bucket_find_contain(struct hash_bucket **bucket, * Nothing found, go back a hash bucket */ put_hash_bucket(*bucket, *flags); - range += (1 << HASH_FN_SHIFT); index.dev_addr -= (1 << HASH_FN_SHIFT); *bucket = get_hash_bucket(&index, flags); } |
