Windows 2000 hangs

Hi,

I am encountering a peculiar problem while testing my ATM driver.

Problem:

When I don’t insert a breakpoint inside my driver’s transmit function, it
succeeds a couple
of times and afterwards it hangs in the same transmit function. When I try
to stop
the debugger using Ctrl-C, the thread doesn’t seem to stop and when I press
“g”,
the debugger responds by displaying “thread already running”.

Suppose if I insert a delay after “NdisWriteRegisterUlong” called from my
transmit function,
the system runs smoothly without any hangs.

I am puzzled ? Why this weird behavior?

Also this problem now seem to occur randomly so that whenever I try to write
to the device
registers, it hangs.

Thanks in advance.

Regards,
Manish.

***************************************************************************
This message is proprietary to Future Software Limited (FSL)
and is intended solely for the use of the individual to whom it
is addressed. It may contain privileged or confidential information
and should not be circulated or used for any purpose other than for
what it is intended.

If you have received this message in error, please notify the
originator immediately. If you are not the intended recipient,
you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message.
FSL accepts no responsibility for loss or damage arising from
the use of the information transmitted by this email including
damage from virus.
***************************************************************************

perhaps you’re crashing the ATM card by writing to it too quickly. If
the processor is stuck in the middle of a memory or port read you won’t
be able to break in to the debugger on that processor.

-p

-----Original Message-----
From: Manish K [mailto:xxxxx@future.futsoft.com]
Sent: Friday, July 05, 2002 5:56 AM
To: NT Developers Interest List
Subject: [ntdev] Windows 2000 hangs

Hi,

I am encountering a peculiar problem while testing my ATM driver.

Problem:

When I don’t insert a breakpoint inside my driver’s transmit function,
it succeeds a couple of times and afterwards it hangs in the same
transmit function. When I try to stop the debugger using Ctrl-C, the
thread doesn’t seem to stop and when I press “g”, the debugger responds
by displaying “thread already running”.

Suppose if I insert a delay after “NdisWriteRegisterUlong” called from
my transmit function, the system runs smoothly without any hangs.

I am puzzled ? Why this weird behavior?

Also this problem now seem to occur randomly so that whenever I try to
write to the device registers, it hangs.

Thanks in advance.

Regards,
Manish.

************************************************************************
***
This message is proprietary to Future Software Limited (FSL)
and is intended solely for the use of the individual to whom it is
addressed. It may contain privileged or confidential information
and should not be circulated or used for any purpose other than for
what it is intended.

If you have received this message in error, please notify the originator
immediately. If you are not the intended recipient, you are notified
that you are strictly prohibited from using, copying, altering, or
disclosing the contents of this message.
FSL accepts no responsibility for loss or damage arising from
the use of the information transmitted by this email including damage
from virus.
************************************************************************
***


You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%

Hi,

I am Chandramouli and thanks for answering this query.

Your answer seems to be one of the problem’s scenario.

Will there be any other scenario like a deadlock ? (this I
doubt, since in all my functions i have print statements
that have to be executed before doing any other thing.)

Suppose your answer is the reason for the problem then how
to avoid it ? Should I insert a small delay before the
NdisWriteRegisterUlong call ?

Thanks & regards,
Mouli.