Hi Jaroslav,

Please commit this with comments
        - US224 support
        - FIX for build without CONFIG_SND_DEBUG

Thanks,
Karsten

Index: usb/usx2y/usX2Yhwdep.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usX2Yhwdep.c,v
retrieving revision 1.5
diff -u -r1.5 usX2Yhwdep.c
--- usb/usx2y/usX2Yhwdep.c	19 Mar 2004 07:22:06 -0000	1.5
+++ usb/usx2y/usX2Yhwdep.c	6 Apr 2004 21:32:05 -0000
@@ -194,11 +194,10 @@
 {
 	int	err = 0,
 		i;
-	usX2Y->Seq04 = 0;
 
 	if (NULL == (usX2Y->AS04.buffer = kmalloc(URB_DataLen_AsyncSeq*URBS_AsyncSeq, GFP_KERNEL))) {
 		err = -ENOMEM;
-	}else
+	} else
 		for (i = 0; i < URBS_AsyncSeq; ++i) {
 			if (NULL == (usX2Y->AS04.urb[i] = usb_alloc_urb(0, GFP_KERNEL))) {
 				err = -ENOMEM;
Index: usb/usx2y/usbusx2y.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.c,v
retrieving revision 1.8
diff -u -r1.8 usbusx2y.c
--- usb/usx2y/usbusx2y.c	17 Feb 2004 15:28:31 -0000	1.8
+++ usb/usx2y/usbusx2y.c	6 Apr 2004 21:32:06 -0000
@@ -1,6 +1,11 @@
 /*
  * usbus428.c - ALSA USB US-428 Driver
  *
+2004-04-06 Karsten Wiese
+	Version 0.6.0:
+	Runs on 2.6.5 kernel without any "--with-debug=" things.
+	us224 reported running.
+
 2004-01-14 Karsten Wiese
 	Version 0.5.1:
 	Runs with 2.6.1 kernel.
@@ -93,7 +98,7 @@
 
 
 MODULE_AUTHOR("Karsten Wiese <[EMAIL PROTECTED]>");
-MODULE_DESCRIPTION("TASCAM "NAME_ALLCAPS" Version 0.4.1");
+MODULE_DESCRIPTION("TASCAM "NAME_ALLCAPS" Version 0.6.0");
 MODULE_LICENSE("GPL");
 MODULE_CLASSES("{sound}");
 MODULE_DEVICES("{{TASCAM(0x1604), "NAME_ALLCAPS"(0x8001)(0x8007) }}");
@@ -118,7 +123,6 @@
 static void snd_usX2Y_usb_disconnect(struct usb_device* usb_device, void* ptr);
 static void snd_usX2Y_card_private_free(snd_card_t *card);
 
-#ifdef CONFIG_SND_DEBUG
 /* 
  * pipe 4 is used for switching the lamps, setting samplerate, volumes ....   
  */
@@ -128,14 +132,15 @@
 void snd_usX2Y_Out04Int(struct urb* urb)
 #endif
 {
+#ifdef CONFIG_SND_DEBUG
 	if (urb->status) {
 		int 		i;
 		usX2Ydev_t*	usX2Y = urb->context;
 		for (i = 0; i < 10 && usX2Y->AS04.urb[i] != urb; i++);
-		snd_printd("snd_usX2Y_Out04Int() usX2Y->Seq04=%i urb %i status=%i\n", usX2Y->Seq04, i, urb->status);
+		snd_printd("snd_usX2Y_Out04Int() urb %i status=%i\n", i, urb->status);
 	}
-}
 #endif
+}
 
 #ifndef OLD_USB
 void snd_usX2Y_In04Int(struct urb* urb, struct pt_regs *regs)
@@ -194,7 +199,7 @@
 				int j, send = us428ctls->p4outSent + 1;
 				if (send >= N_us428_p4out_BUFS)
 					send = 0;
-				for (j = 0; j < URBS_AsyncSeq; ++j)
+				for (j = 0; j < URBS_AsyncSeq  &&  !err; ++j)
 					if (0 == usX2Y->AS04.urb[j]->status) {
 						us428_p4out_t *p4out = us428ctls->p4out + send;	// FIXME if more then 1 p4out is new, 1 gets lost.
 						usb_fill_bulk_urb(usX2Y->AS04.urb[j], usX2Y->chip.dev,
@@ -204,7 +209,7 @@
 #ifdef OLD_USB
 						usX2Y->AS04.urb[j]->transfer_flags = USB_QUEUE_BULK;
 #endif
-						usb_submit_urb(usX2Y->AS04.urb[j], GFP_ATOMIC);
+						err = usb_submit_urb(usX2Y->AS04.urb[j], GFP_ATOMIC);
 						us428ctls->p4outSent = send;
 						break;
 					}
@@ -273,7 +278,6 @@
 	usX2Y(card)->chip.card = card;
 	init_MUTEX (&usX2Y(card)->open_mutex);
 	INIT_LIST_HEAD(&usX2Y(card)->chip.midi_list);
-	usX2Y(card)->Seq04Complete = 1;
 	strcpy(card->driver, "USB "NAME_ALLCAPS"");
 	sprintf(card->shortname, "TASCAM "NAME_ALLCAPS"");
 	sprintf(card->longname, "%s (%x:%x if %d at %03d/%03d)",
Index: usb/usx2y/usbusx2y.h
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2y.h,v
retrieving revision 1.3
diff -u -r1.3 usbusx2y.h
--- usb/usx2y/usbusx2y.h	19 Jan 2004 18:43:28 -0000	1.3
+++ usb/usx2y/usbusx2y.h	6 Apr 2004 21:32:06 -0000
@@ -29,8 +29,6 @@
 	char			In04Last[24];
 	unsigned		In04IntCalls;
 	snd_usX2Y_urbSeq_t*	US04;
-	int			Seq04;
-	int 			Seq04Complete;
 	wait_queue_head_t	In04WaitQueue;
 	snd_usX2Y_AsyncSeq_t	AS04;
 	unsigned int		rate,
@@ -56,10 +54,6 @@
 #else
 void snd_usX2Y_Out04Int(struct urb* urb);
 void snd_usX2Y_In04Int(struct urb* urb);
-#endif
-
-#ifndef CONFIG_SND_DEBUG
-#define snd_usX2Y_Out04Int 0
 #endif
 
 #define NAME_ALLCAPS "US-X2Y"
Index: usb/usx2y/usbusx2yaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/usb/usx2y/usbusx2yaudio.c,v
retrieving revision 1.9
diff -u -r1.9 usbusx2yaudio.c
--- usb/usx2y/usbusx2yaudio.c	30 Mar 2004 08:27:16 -0000	1.9
+++ usb/usx2y/usbusx2yaudio.c	6 Apr 2004 21:32:08 -0000
@@ -1245,7 +1245,7 @@
 	    					     snd_dma_continuous_data(GFP_KERNEL),
 						     usX2Y_capt_substream->endpoints * 64*1024,
 						     usX2Y_capt_substream->endpoints * 128*1024)) ||
-	    (usX2Y(card)->chip.dev->descriptor.idProduct == USB_ID_US428 &&
+	    (usX2Y(card)->chip.dev->descriptor.idProduct != USB_ID_US122 &&
 	     0 > (err = usX2Y_rate_set(usX2Y_stream, 44100)))) {	// Lets us428 recognize output-volume settings, disturbs us122.
 		snd_usX2Y_audio_stream_free(usX2Y_stream);
 		return err;

Reply via email to