mirror of
https://github.com/opnsense/src.git
synced 2026-04-20 21:59:20 -04:00
- Unlock softc mutex on failure.
MFC after: 1 week
This commit is contained in:
parent
9725389e1e
commit
219c5a5a96
1 changed files with 15 additions and 8 deletions
|
|
@ -1677,6 +1677,7 @@ envy24htchan_trigger(kobj_t obj, void *data, int go)
|
|||
struct sc_info *sc = ch->parent;
|
||||
u_int32_t ptr;
|
||||
int slot;
|
||||
int error = 0;
|
||||
#if 0
|
||||
int i;
|
||||
|
||||
|
|
@ -1698,8 +1699,10 @@ envy24htchan_trigger(kobj_t obj, void *data, int go)
|
|||
sc->caps[0].minspeed = sc->caps[0].maxspeed = sc->speed;
|
||||
sc->caps[1].minspeed = sc->caps[1].maxspeed = sc->speed;
|
||||
}
|
||||
else if (ch->speed != 0 && ch->speed != sc->speed)
|
||||
return -1;
|
||||
else if (ch->speed != 0 && ch->speed != sc->speed) {
|
||||
error = -1;
|
||||
goto fail;
|
||||
}
|
||||
if (ch->speed == 0)
|
||||
ch->channel->speed = sc->speed;
|
||||
/* start or enable channel */
|
||||
|
|
@ -1729,16 +1732,20 @@ envy24htchan_trigger(kobj_t obj, void *data, int go)
|
|||
#if(0)
|
||||
device_printf(sc->dev, "envy24htchan_trigger(): emldmawr\n");
|
||||
#endif
|
||||
if (ch->run != 1)
|
||||
return -1;
|
||||
if (ch->run != 1) {
|
||||
error = -1;
|
||||
goto fail;
|
||||
}
|
||||
ch->emldma(ch);
|
||||
break;
|
||||
case PCMTRIG_EMLDMARD:
|
||||
#if(0)
|
||||
device_printf(sc->dev, "envy24htchan_trigger(): emldmard\n");
|
||||
#endif
|
||||
if (ch->run != 1)
|
||||
return -1;
|
||||
if (ch->run != 1) {
|
||||
error = -1;
|
||||
goto fail;
|
||||
}
|
||||
ch->emldma(ch);
|
||||
break;
|
||||
case PCMTRIG_ABORT:
|
||||
|
|
@ -1768,9 +1775,9 @@ envy24htchan_trigger(kobj_t obj, void *data, int go)
|
|||
}
|
||||
break;
|
||||
}
|
||||
fail:
|
||||
snd_mtxunlock(sc->lock);
|
||||
|
||||
return 0;
|
||||
return (error);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
|||
Loading…
Reference in a new issue