#define BYTES_PER_SAMPLE       3
 #define BYTES_PER_SAMPLE_USB   4
 #define MAX_BUFFER_SIZE                (128*1024)
-                                
+#define MAX_ENDPOINT_SIZE      512
+
 #define ENDPOINT_CAPTURE       2
 #define ENDPOINT_PLAYBACK      6
 
        
        bpp = ((runtime->rate / 8000) + CLOCK_DRIFT_TOLERANCE)
                * bytes_per_sample * CHANNELS_PER_STREAM * dev->n_streams;
-       
+
+       if (bpp > MAX_ENDPOINT_SIZE)
+               bpp = MAX_ENDPOINT_SIZE;
+
        ret = snd_usb_caiaq_set_audio_params(dev, runtime->rate,
                                             runtime->sample_bits, bpp);
        if (ret)
 
 #endif
 
 MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
-MODULE_DESCRIPTION("caiaq USB audio, version 1.3.5");
+MODULE_DESCRIPTION("caiaq USB audio, version 1.3.6");
 MODULE_LICENSE("GPL");
 MODULE_SUPPORTED_DEVICE("{{Native Instruments, RigKontrol2},"
                         "{Native Instruments, RigKontrol3},"