* module doesn't work when it's app uses STDOUT
@ 2001-04-09 9:58 Armin L. Schneider
0 siblings, 0 replies; only message in thread
From: Armin L. Schneider @ 2001-04-09 9:58 UTC (permalink / raw)
To: linux-kernel
Hello,
sorry, this might be a beginner question, but I couldn't find any
infos in the FAQ.
I'm writing a driver (module) for a PCI card with a neural processor
(NP-processor) on it for kernel 2.4.1. The registers of this processor
are mapped to a memory area. I access the different registers of the
NP-processor with ioctl's (there are 8bit and 16bit registers):
switch (cmd) {
case NP_IOCSGCR:
get_user (b, (byte *) arg);
writeb (b, np.mem + Z_GCR);
break;
case NP_IOCGGCR:
b = readb (np.mem + Z_GCR);
put_user (b, (byte *) arg);
break;
case NP_IOCSMIF:
get_user (w, (word *) arg);
writew (w, np.mem + Z_MIF);
break;
case NP_IOCGMIF:
w = readw (np.mem + Z_MIF);
put_user (w, (word *) arg);
break;
When I load the module and init the device, I can read the registers.
Some of them have default values after a reset of the chip and they
are ok. But when I load data to the registers and let the NP-processor
categorize the data, strange things happen:
I wrote a program to test the driver which loads some data to the
NP-processor and tries to categorize it. The program prints its
result to STDOUT.
- everything works ok, results are correct, if I redirect STDOUT to a
file
- if I don't redirect, I get reproducibly wrong results when I print
to STDOUT
My first idea was to disable/enable interrupts when entering/leaving
the ioctl-function (using save_flags(); cli(); and restore_flags();),
but it
didn't help.
Armin.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-04-09 10:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-09 9:58 module doesn't work when it's app uses STDOUT Armin L. Schneider
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox