[alsa-devel] [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic
Felix Homann
linuxaudio at showlabor.de
Tue Nov 1 20:03:02 CET 2011
On my machine building from alsa-driver/alsa-kernel fails.
I've got my alsa-kernel from here:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
alsa-kernel
alsa-driver is this one:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build.git
alsa-driver
After successfully patching alsa-kernel the build fails:
./gitcompile --with-oss=no --with-pcm-oss-plugins=no
--with-debug=full --enable-dynamic-minors --with-moddir=updates
[.....]
copying file alsa-kernel/usb/endpoint.cpatching file endpoint.cHunk #2
FAILED at 72.Hunk #3 FAILED at 84.Hunk #4 succeeded at 194 with fuzz 2
(offset 29 lines).Hunk #5 FAILED at 192.Hunk #6 FAILED at 341.4 out of
6 hunks FAILED -- saving rejects to file endpoint.c.rej
Here's endpoint.c.rej:
--- ../alsa-kernel/usb/endpoint.c 2011-09-14 13:57:01.622042886 +0200
+++ endpoint.c 2011-09-14 13:57:20.178761685 +0200
@@ -72,9 +74,12 @@
if (test_bit(i, &subs->active_mask)) {
if (!test_and_set_bit(i, &subs->unlink_mask)) {
struct urb *u = subs->dataurb[i].urb;
- if (async)
+ if (async) {
+#ifdef URB_ASYNC_UNLINK
+ u->transfer_flags |= URB_ASYNC_UNLINK;
+#endif
usb_unlink_urb(u);
- else
+ } else
usb_kill_urb(u);
}
}
@@ -84,9 +89,12 @@
if (test_bit(i+16, &subs->active_mask)) {
if (!test_and_set_bit(i+16,
&subs->unlink_mask)) {
struct urb *u = subs->syncurb[i].urb;
- if (async)
+ if (async) {
+#ifdef URB_ASYNC_UNLINK
+ u->transfer_flags |=
URB_ASYNC_UNLINK;
+#endif
usb_unlink_urb(u);
- else
+ } else
usb_kill_urb(u);
}
}
@@ -192,7 +204,11 @@
/*
* complete callback from sync urb
*/
+#if !defined(OLD_USB) && !defined(CONFIG_SND_NEW_IRQ_HANDLER)
+static void snd_complete_sync_urb(struct urb *urb, struct pt_regs *regs)
+#else
static void snd_complete_sync_urb(struct urb *urb)
+#endif
{
struct snd_urb_ctx *ctx = urb->context;
struct snd_usb_substream *subs = ctx->subs;
@@ -341,7 +357,9 @@
if (!u->urb)
goto out_of_memory;
u->urb->transfer_buffer = subs->syncbuf + i * 4;
+#ifdef HAVE_USB_BUFFERS
u->urb->transfer_dma = subs->sync_dma + i * 4;
+#endif
u->urb->transfer_buffer_length = 4;
u->urb->pipe = subs->syncpipe;
u->urb->transfer_flags = URB_ISO_ASAP |
More information about the Alsa-devel
mailing list