blob: d5ce0d88d7c43971d1d6e7f9272a13cdcaa3d3b9 [file] [log] [blame]
--- ../alsa-kernel/usb/mixer.c 2010-05-11 22:44:30.924953053 +0200
+++ mixer.c 2010-05-11 22:48:39.545200268 +0200
@@ -1,3 +1,5 @@
+#include "mixer.inc"
+
/*
* (Tentative) USB Audio Driver for ALSA
*
@@ -128,6 +130,14 @@
USB_XU_SOFT_LIMIT_SELECTOR = 0x03 /* soft limiter */
};
+#ifndef USB_DT_CS_DEVICE
+#define USB_DT_CS_DEVICE 0x21
+#define USB_DT_CS_CONFIG 0x22
+#define USB_DT_CS_STRING 0x23
+#define USB_DT_CS_INTERFACE 0x24
+#define USB_DT_CS_ENDPOINT 0x25
+#endif
+
/*
* manual mapping of mixer names
* if the mixer topology is too complicated and the parsed names are
@@ -2013,7 +2023,11 @@
}
}
+#if !defined(OLD_USB) && !defined(CONFIG_SND_NEW_IRQ_HANDLER)
+static void snd_usb_mixer_interrupt(struct urb *urb, struct pt_regs *regs)
+#else
static void snd_usb_mixer_interrupt(struct urb *urb)
+#endif
{
struct usb_mixer_interface *mixer = urb->context;
int len = urb->actual_length;
@@ -2083,7 +2097,11 @@
return 0;
epnum = usb_endpoint_num(ep);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11)
buffer_length = le16_to_cpu(ep->wMaxPacketSize);
+#else
+ buffer_length = ep->wMaxPacketSize;
+#endif
transfer_buffer = kmalloc(buffer_length, GFP_KERNEL);
if (!transfer_buffer)
return -ENOMEM;