Problems with missing interrupts (probably my fault)

Harald =?ISO-8859-1?Q?Nordg=E5rd-Hansen?= (hnh@bukharin.hiof.no)
26 Jul 1999 16:41:57 +0200


Hi.

While I'm still fairly new to writing device drivers, I've mostly
written a driver now for the ComScire QNG device (there is an assigned
device number for this, but I found no driver... :). This thing is
probably best described as a device that sits on the parallel port and
makes random noise.

When I poll the device for data (which creates a lot of CPU load),
it seems to work all right. But when I try to turn on interrupts on
the underlying parallel port, I seem to get only about 1/4 of the
interrupts that are supposed to be generated by the device. (Turning
off the interrupts and polling on bit 6 of the status register works
nicely, though.)

Could anyone tell me where I should start looking? I have troble
seeing that the interrupt servicing routine should take too long, it
basically reads the status register of the parallel port and stuffs it
into a preallocated ring buffer.

If anyone could take the time to look though the driver itself
(<URL:http://bukharin.hiof.no/~hnh/qng/qng.c>) and tell me which of
the (major) blunders that I have made I should start by fixing, I'd be
grateful as well.

-Harald

-- 
Harald Nordgård-Hansen,  <><  http://bukharin.hiof.no/~hnh/  <>< Phone/Fax:
Østfold College, School of Computer Sciences, Norway <>< +47 6910 4033/4002

- 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/