kmdf serial implementation

Hello,

I try to implement a serial driver with kdmf and I’ve got a problem with the
implementation of IOCTL_SERIAL_GET_COMMSTATUS.

My device load good. But when I open a hyperterminal the first input is read,
the second do nothing and when the third appears hyperterminal loop on
IOCTL_SERIAL_GET_COMMSTATUS and freeze.

Here is my code :
http://pastebin.com/f38ae7c20

Here is my debug output:
http://pastebin.com/m3de139e3

For the debug output, the first key pressed on hyperterminal produce the write,
the second do nothing and when I pressed a third time a key the
IOCTL_SERIAL_GET_COMMSTATUS loop appears and don’t stop.

The only solution to stop that is to kill hypertterminal with the task manager.

Thanks for you help :slight_smile:


Gallon sylvestre
OpenBSD fan | Rathaxes Core Developper
LSE researcher | kernel developer for adeneo
http://devsyl.blogspot.com/ | www.rathaxes.org

ok!
you must have ur own reasons for implementing ur own serial driver, but i can suggest you to take a look at the serial driver which comes along with the ddk (if u havent done it already). You can add ur necessary section of code into the driver and it is easy to reuse the working code than spend time debugging. But thats just me!

reg,
thor