I would recommend that you define the spinlock for each adapter when you
call. The problem may be that when you call IoConnectInterrupt on the same
IRQ, you get a separate system defined interrupt object, each with it’s own
system defined spinlock. If your not accounting for that when you’re
synchronizing access, you could have KeSynchronizeExecution using a
different spinlock to synchronize access. If you define the same spinlock in
both calls to IoConnectInterrupt, then both adapters ISR are sync’d with the
same spinlock.
Check the DDK documentation. It discusses chained IRQ’s and multiple
adapters using the same ISR.
Gary
.
-----Original Message-----
From: xxxxx@exgate.tek.com
[mailto:xxxxx@exgate.tek.com]
Sent: Monday, September 25, 2000 11:19 AM
To: NT Developers Interest List
Subject: [ntdev] RE: one driver for two devices
Hi, Gary: Actually i did not use any spinlock for interrupt.
In
IoConnectInterrupt routine, I put spinlock as NULL. Could
that affect
something? thanks.
Z.S.Wang
-----Original Message-----
From: Gary Little [mailto:xxxxx@broadstor.com]
Sent: Monday, September 25, 2000 10:44 AM
To: NT Developers Interest List
Subject: [ntdev] RE: one driver for two devices
Are they using the same interrupt spinlock?
-----Original Message-----
From: xxxxx@exgate.tek.com
[mailto:xxxxx@exgate.tek.com]
Sent: Monday, September 25, 2000 10:34 AM
To: NT Developers Interest List
Subject: [ntdev] one driver for two
devices
Hi, I have a driver controling multiple
devices running on
normal PC and
compactPCI platform. The two devices are
allowed to work
with the same IRQ
number but not when IRQs are different. For
example,
Device#1 Device #2
10 15 not working
10 10 working
15 10 not working
15 15 working
Is there anyone can give me some idea why
this happens?
Thanks.
Z.S.Wang
==================================
Zhongsheng Wang
P. O. Box 500, M/S 50-480
Beaverton, OR 97077
Email: xxxxx@tek.com
Phone: (503) 627-5260
You are currently subscribed to ntdev as:
xxxxx@broadstor.com
To unsubscribe send a blank email to
$subst(‘Email.Unsub’)
You are currently subscribed to ntdev as:
xxxxx@exgate.tek.com
To unsubscribe send a blank email to
$subst(‘Email.Unsub’)
You are currently subscribed to ntdev as:
xxxxx@broadstor.com
To unsubscribe send a blank email to
$subst(‘Email.Unsub’)