> Hello together, > > I'm currently working on the l2cap module for the Bluetooth subsystem. > Everything worked fine so far until I used a kernel with enabled PREEMPT > in its configuration. At first my kernel log was flooded with messages > like »scheduling while atomic« etc. Now the whole system just freezes > when I try to test my code. I get the common Debug messages from my code > but suddenly I get messages (shortened): > > scheduling while atomic: swapper/0x00000001/0 > [<c030b03d>] schedule+0x9cd/0xd60 > irq_exit+... > do_IRQ+... > common_interrupt+... > acpi_processor_idle+... > cpu_idle+... > start_kernel+... > unknown_bootoption+... > > and the system hangs (I have only the option to use the SysRq key > combinations). > > Without knowing the details of my code (I can give you snippets that are > related to my problem) -- what might be useful to look at? This is the > first time I encounter such problems and I read various chapters in > great books (Greg's LDD book for example) and so I assume it is related > to some locking issues -- but I have no clue how to figure that out. > Are there any advices? > > Thanks, > Martin > Hello Martin Probably You are using preempt_disable() and preempt_enable() to protect large parts of code. These functions work well when local interrupts are disabled, but with interrupts enabled I had similar problem. Regards Rafal ---------------------------------------------------------------------- INTERIA.PL dla kobiet... >>> http://link.interia.pl/f193b -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/