|
@@ -648,7 +648,7 @@ static int snd_vt1724_set_pro_rate(struct snd_ice1712 *ice, unsigned int rate,
|
|
|
(inb(ICEMT1724(ice, DMA_PAUSE)) & DMA_PAUSES)) {
|
|
|
/* running? we cannot change the rate now... */
|
|
|
spin_unlock_irqrestore(&ice->reg_lock, flags);
|
|
|
- return -EBUSY;
|
|
|
+ return ((rate == ice->cur_rate) && !force) ? 0 : -EBUSY;
|
|
|
}
|
|
|
if (!force && is_pro_rate_locked(ice)) {
|
|
|
spin_unlock_irqrestore(&ice->reg_lock, flags);
|