Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: aaci: Use guard() for mutex locks

Replace the manual mutex lock/unlock pairs with guard() for code
simplification.

Only code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250829151335.7342-15-tiwai@suse.de

+6 -14
+6 -14
sound/arm/aaci.c
··· 73 73 if (ac97->num >= 4) 74 74 return; 75 75 76 - mutex_lock(&aaci->ac97_sem); 76 + guard(mutex)(&aaci->ac97_sem); 77 77 78 78 aaci_ac97_select_codec(aaci, ac97); 79 79 ··· 97 97 if (v & (SLFR_1TXB|SLFR_2TXB)) 98 98 dev_err(&aaci->dev->dev, 99 99 "timeout waiting for write to complete\n"); 100 - 101 - mutex_unlock(&aaci->ac97_sem); 102 100 } 103 101 104 102 /* ··· 111 113 if (ac97->num >= 4) 112 114 return ~0; 113 115 114 - mutex_lock(&aaci->ac97_sem); 116 + guard(mutex)(&aaci->ac97_sem); 115 117 116 118 aaci_ac97_select_codec(aaci, ac97); 117 119 ··· 132 134 133 135 if (v & SLFR_1TXB) { 134 136 dev_err(&aaci->dev->dev, "timeout on slot 1 TX busy\n"); 135 - v = ~0; 136 - goto out; 137 + return ~0; 137 138 } 138 139 139 140 /* Now wait for the response frame */ ··· 148 151 149 152 if (v != (SLFR_1RXV|SLFR_2RXV)) { 150 153 dev_err(&aaci->dev->dev, "timeout on RX valid\n"); 151 - v = ~0; 152 - goto out; 154 + return ~0; 153 155 } 154 156 155 157 do { ··· 167 171 v = ~0; 168 172 } 169 173 } while (retries); 170 - out: 171 - mutex_unlock(&aaci->ac97_sem); 172 174 return v; 173 175 } 174 176 ··· 431 437 */ 432 438 runtime->hw.fifo_size = aaci->fifo_depth * 2; 433 439 434 - mutex_lock(&aaci->irq_lock); 440 + guard(mutex)(&aaci->irq_lock); 435 441 if (!aaci->users++) { 436 442 ret = request_irq(aaci->dev->irq[0], aaci_irq, 437 443 IRQF_SHARED, DRIVER_NAME, aaci); 438 444 if (ret != 0) 439 445 aaci->users--; 440 446 } 441 - mutex_unlock(&aaci->irq_lock); 442 447 443 448 return ret; 444 449 } ··· 455 462 456 463 aacirun->substream = NULL; 457 464 458 - mutex_lock(&aaci->irq_lock); 465 + guard(mutex)(&aaci->irq_lock); 459 466 if (!--aaci->users) 460 467 free_irq(aaci->dev->irq[0], aaci); 461 - mutex_unlock(&aaci->irq_lock); 462 468 463 469 return 0; 464 470 }