At Mon, 04 Apr 2005 18:08:43 +0100,
Daniel Drake wrote:
> 
> David Ford wrote:
> > It seems that 2.6.12-rc1 introduced an ALSA bug generating an oops for a
> > null pointer.
> > 
> > codec_semaphore: semaphore is not ready [0x1][0x300300]
> > codec_read 0: semaphore is not ready for register 0x2c
> > Unable to handle kernel NULL pointer dereference at virtual address
> > 00000000
> > 
> > This happens on multiple machines, 32b and 64bit.  I'll be happy to
> > provide further information if needed.
> 
> This only happens when you mismatch your kernel and alsa-lib versions, e.g.
> running alsa-lib-1.0.9-rc2 with alsa-1.0.8 in-kernel drivers, or possibly
> vice-versa.

Only the former case (kernel < lib).

It's already fixed in linux-sound bk tree.  The relevant patch is
below.  The patch was already submitted to stable, too.


Takashi


# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/03/22 09:01:11+01:00 [EMAIL PROTECTED] 
#   [ALSA] Fix Oops with timer notifying
#   
#   Timer Midlevel
#   Fixed Oops with timer notifying after TIMER_TREAD ioctl.
#   
#   Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
# 
# sound/core/timer.c
#   2005/03/15 04:25:51+01:00 [EMAIL PROTECTED] +2 -1
#   [ALSA] Fix Oops with timer notifying
#   
#   D:2005/03/15 11:25:51
#   C:Timer Midlevel
#   F:core/timer.c:1.65->1.66 
#   L:Fixed Oops with timer notifying after TIMER_TREAD ioctl.
#   Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
# 
diff -Nru a/sound/core/timer.c b/sound/core/timer.c
--- a/sound/core/timer.c        2005-04-04 19:25:12 +02:00
+++ b/sound/core/timer.c        2005-04-04 19:25:12 +02:00
@@ -1117,7 +1117,8 @@
        if (tu->qused >= tu->queue_size) {
                tu->overrun++;
        } else {
-               memcpy(&tu->queue[tu->qtail++], tread, sizeof(*tread));
+               memcpy(&tu->tqueue[tu->qtail++], tread, sizeof(*tread));
+               tu->qtail %= tu->queue_size;
                tu->qused++;
        }
 }
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to