Hi thanks for the reply :-) some more queries... > > Setserial shows this info: > > /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4, > Baud_base: 115200, > > close_delay: 256, divisor: 0 > > closing_wait: 15360 > > Flags: spd_normal skip_test > > So there already is a driver that took control of the serial port. yes thats the one i want to replace with my own driver. > You can't randomly free interrupts, and you're certainly not supposed > to free interrupts when you just *enabled* the interrupt source on the > device. right, will change this. but can i replace the existing driver by doing this? i mean, free irq -> then request irq -> enable interrupts > > Another program that polls COM1 works fine. > > Two drivers competing for the same piece of hardware, that's a recipe > for disaster. Remove the standard serial module and retry your own > module. i was trying to read COM1 by 2 ways, by polling COM port which works fine. The interrupt driven is not. these two are not loaded at the same time, I am loading only one of these at a time. so i guess i'm not able to disable the standard COM1 irq handler? -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/