Attached  is a patch that fixes a bug. With this fix, an MS-124W will
work in MB mode (adaptor=3) as advertised. The patch also moves a sanity
check to a slightly better place in the code.

I am using the MS-124W with a USB serial port, and it certainly moves
the bits correctly. I'm not sure about the latency characteristics of
the usb->serial piece, but it seems to me about the same as on a
computer with a 16550.

-- 
(jfm3  2838 BCBA 93BA 3058 ED95  A42C 37DB 66D1 B43C 9FD0)
diff -urN alsa-driver-0.9.0.ORIG/drivers/serialmidi.c alsa-driver-0.9.0/drivers/serialmidi.c
--- alsa-driver-0.9.0.ORIG/drivers/serialmidi.c	2003-02-21 19:31:00.000000000 -0500
+++ alsa-driver-0.9.0/drivers/serialmidi.c	2003-02-21 19:32:20.000000000 -0500
@@ -439,10 +439,6 @@
 	serialmidi_t *serial;
 	int err;
 
-	if (outs < 1)
-		outs = 1;
-	if (outs > 16)
-		outs = 16;
 	switch (adaptor) {
 	case SERIAL_ADAPTOR_SOUNDCANVAS:
 		break;
@@ -452,11 +448,16 @@
 		break;
 	case SERIAL_ADAPTOR_MS124W_MB:
 		outs = 16;
+		break;
 	default:
 		snd_printk(KERN_ERR "Adaptor type is out of range 0-%d (%d)\n",
 				SERIAL_ADAPTOR_MAX, adaptor);
 		return -ENODEV;
 	}
+	if (outs < 1)
+		outs = 1;
+	if (outs > 16)
+		outs = 16;
 
 	if ((serial = snd_magic_kcalloc(serialmidi_t, 0, GFP_KERNEL)) == NULL)
 		return -ENOMEM;

Reply via email to