On Fri, Jun 07, 2002 at 07:34:29PM +0530, Rahul Ravindran wrote: [rahul, your emails would be easier to read if you wrapped them at 72 characters. I've reformatted your email for easier discussion.] > I`m modifying a network device driver by adding encrytion and > decrytion within it. Cool! This would probably be a cheap way to get private communications, compared to setting up ipsec hosts. > The NIC is an interrupt driver one which > generates an interrupt on arrival of a packet. I find that sometimes, > the following error occurs : Kernel Panic : Killing interrupt handler > In interrupt handler: loosing sync > > The system hangs after this. > > I`m an disabling interrupts at the beginning of the interrupt handler > (by using spin_lock_store) and reanbling them at the end (by using > spin_unlock_restore). I interrupt handler is currently takes a little > time executing the decrytion code. Oh my. Interrupt handlers are supposed to be _fast_. Decryption usually isn't. Are you sure your interrupt is more important than, say, clock ticks, hard drives, etc? Perhaps disabling interrupts through your interrupt handler is a bit too much? > Am using GFP_ATOMIC flag for kmalloc within the handler. Good :) though if you can figure out how to run your handler without allocating memory at all, your driver will probably be all the more stable. > On searching the net, I find that these errors(killing interrupt etc) > have been documented before while doing insmod but not while actually > using the card. Google is great, but sadly, it hasn't yet developed the ability to find bug reports from folks who broke the code the exact same way you did :) It would help me a lot if they added this feature. :) -- http://www.wirex.com/
Attachment:
pgp00093.pgp
Description: PGP signature