On Sat, Dec 09, 2023 at 03:45:44PM +0000, Klemens Nanni wrote:
> 
> However, detach USB during explicit playback to it, e.g.
>       $ AUDIODEVICE=snd/1 ncspot
> crashes sndiod(8) rather than playback just stopping instead of switching.
> 
> Using USB alone ('sndiod -f snd/1') and device defaults ('ncspot') does not
> crash when unplugging during playback.

[...]

>       #2  0x000005340e83dbce in panic () at /s/usr.bin/sndiod/utils.c:138
>       #3  0x000005340e839308 in sock_close (f=0x5340e842720 <slot_array>) at 
> /s/usr.bin/sndiod/sock.c:183

sock_close() is called with the wrong argument. Thank you for the trace.

ok?

Index: dev.c
===================================================================
RCS file: /cvs/src/usr.bin/sndiod/dev.c,v
diff -u -p -r1.106 dev.c
--- dev.c       26 Dec 2022 19:16:03 -0000      1.106
+++ dev.c       9 Dec 2023 21:12:21 -0000
@@ -1389,7 +1389,7 @@ dev_migrate(struct dev *odev)
                if (s->opt == NULL || s->opt->dev != odev)
                        continue;
                if (s->ops != NULL) {
-                       s->ops->exit(s);
+                       s->ops->exit(s->arg);
                        s->ops = NULL;
                }
        }

Reply via email to