summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/alsa-driver/files')
-rw-r--r--media-sound/alsa-driver/files/alsa-driver-1.0.11-kernel-2.6.17.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/media-sound/alsa-driver/files/alsa-driver-1.0.11-kernel-2.6.17.patch b/media-sound/alsa-driver/files/alsa-driver-1.0.11-kernel-2.6.17.patch
new file mode 100644
index 000000000000..825d87f7c8dc
--- /dev/null
+++ b/media-sound/alsa-driver/files/alsa-driver-1.0.11-kernel-2.6.17.patch
@@ -0,0 +1,30 @@
+In kernel 2.6.17 non-counting semaphores are replaced by mutexes, this patch
+makes serialmidi driver to work with the changes.
+Index: alsa-driver-1.0.11/drivers/serialmidi.c
+===================================================================
+--- alsa-driver-1.0.11.orig/drivers/serialmidi.c
++++ alsa-driver-1.0.11/drivers/serialmidi.c
+@@ -314,12 +314,12 @@ static void tx_loop(serialmidi_t *serial
+ if (driver == NULL)
+ return;
+
+- if (down_trylock(&tty->atomic_write))
++ if (!mutex_trylock(&tty->atomic_write_lock))
+ return;
+ while (1) {
+ count = driver->write_room(tty);
+ if (count <= 0) {
+- up(&tty->atomic_write);
++ mutex_unlock(&tty->atomic_write_lock);
+ return;
+ }
+ count = count > TX_BUF_SIZE ? TX_BUF_SIZE : count;
+@@ -336,7 +336,7 @@ static void tx_loop(serialmidi_t *serial
+ break;
+ }
+ }
+- up(&tty->atomic_write);
++ mutex_unlock(&tty->atomic_write_lock);
+ }
+
+ static void ldisc_write_wakeup(struct tty_struct *tty)