> Under SMP (8 CPUs) system with 2.2.5-15smp kernel, when adding down()/up()
> pair for critical section locking purpose in my fibre channel driver (to
> system, it is scsi), system panic. Acutually even under UP system,
1.) you can't call down() at interrupt time, as it is basically going to
put the caller to sleep/schedule() if the count goes below 0. Sleeping at
interrupt-time is not allowed. You're almost certainly using this at
interrupt-time context, right? I'm not certain exactly what kind of
locking you need, but investigate spinlocks:
linux/Documentation/spinlocks.txt
2.) 2.2.5-15smp is not a kernel version, but a particular packaging of a
particular kernel version by a particular vendor. You should really be
downloading and working with the latest kernels "by-hand" if you're going
to do development. This way you won't be chasing bugs that have already
been fixed, and you won't be relying on faith in someone elses idea of a
valid kernel configuration.
-bp
-- # bryan at terran dot org # http://www.terran.org/~bryan
- 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/