Bottom Halfs never run, kernel > 2.3.44

From: Rui Sousa (rsousa@grad.physics.sunysb.edu)
Date: Thu Feb 17 2000 - 20:21:14 EST


Hi,

I'm working on the emu10k1 sound driver (the creative open source one)
and starting with kernel 2.3.45 I am seeing a problem where a schedule
bottom half is never run.

I've browsed trough the 2.3.45 patch and realized that there were some
changes in this area, so I would like to know if the semantics were
changed and the driver code needs to be modified or if some bug was
introduced :(

The relevant pieces of code are:

struct emu_timer
{
        struct emu_timer *next;
        struct tq_struct *task;
        unsigned delay;
};

timer_top_half(){
struct emu_timer *timer;

timer = sb_hw->timer;
while (timer != NULL)
{
        queue_task(timer->task, &tq_immediate);
        mark_bh(IMMEDIATE_BH);
        timer = timer->next;
}
}

The code works well in 2.2.14 and I have checked that the structures aren't
corrupted. Also there is no oops and I can still remove the module, only the
bottom half code is never executed...

I'm trying this on a SMP kernel.

Rui Sousa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:20 EST