diff --git a/drivers/alsa/alsa_driver.c b/drivers/alsa/alsa_driver.c index edb2683..4bcc4b7 100644 --- a/drivers/alsa/alsa_driver.c +++ b/drivers/alsa/alsa_driver.c @@ -1139,10 +1139,15 @@ static int alsa_driver_restart (alsa_driver_t *driver) { int res; + driver->xrun_recovery = 1; if ((res = driver->nt_stop((struct _jack_driver_nt *) driver))==0) res = driver->nt_start((struct _jack_driver_nt *) driver); driver->xrun_recovery = 0; + + if (res && driver->midi) + (driver->midi->stop)(driver->midi); + return res; }