Tzachi Dar wrote on Thu, 4 Mar 2010 at 11:06:15 > From: [email protected] > [mailto:[email protected]] On Behalf Of Tzachi Dar > Sent: Thursday, March 04, 2010 11:06 AM > To: [email protected] > Subject: [ofw] patch: fix the assumption that __cep_mad_send_cb is > always being called at dispatch level > > While running some nd tests I have received the assert > > CL_ASSERT( KeGetCurrentIrql() == DISPATCH_LEVEL ); al_cm_cep.c line 2218 > > code stack is bellow. > Since the assumption is not true, but is also assumed in the functions > that are called from it I raise the dispatch level to DISPATCH_LEVEL > in this function.
Note that this may not be a problem in just the CEP manager. MAD completion callbacks are expected to be at DISPATCH_LEVEL, so raising IRQL should happen earlier than here. > 0: kd> k Child-SP RetAddr Call Site fffff880`03af71d0 > fffff880`04102e20 nt!RtlAssert+0xe8 fffff880`03af76f0 fffff880`040bf834 > ibbus!__cep_mad_send_cb+0x120 > [q:\projinf3\trunk\core\al\kernel\al_cm_cep.c @ 2216] fffff880`03af7780 > fffff880`040bf0cf ibbus!__notify_send_comp+0x2c4 > [q:\projinf3\trunk\core\al\al_mad.c @ 2009] fffff880`03af77c0 > fffff880`040b8ec0 ibbus!__mad_svc_send_done+0x5bf > [q:\projinf3\trunk\core\al\al_mad.c @ 1942] fffff880`03af7810 > fffff880`040631a1 ibbus!mad_disp_send_done+0x500 > [q:\projinf3\trunk\core\al\al_mad.c @ 867] fffff880`03af7860 > fffff880`04063464 ibbus!__complete_send_mad+0x71 > [q:\projinf3\trunk\core\al\kernel\al_smi.c @ 912] fffff880`03af78d0 > fffff880`040d0eb6 ibbus!destroying_spl_qp_svc+0x2b4 ^--- Probably raise IRQL here, just before calling __complete_send_mad. > [q:\projinf3\trunk\core\al\kernel\al_smi.c @ 975] fffff880`03af7930 > fffff880`040d02f9 ibbus!destroy_obj+0x436 > [q:\projinf3\trunk\core\al\al_common.c @ 606] fffff880`03af7990 > fffff880`040604d7 ibbus!async_destroy_obj+0xd9 > [q:\projinf3\trunk\core\al\al_common.c @ 477] fffff880`03af79c0 > fffff880`040600d5 ibbus!spl_qp_agent_pnp+0x367 > [q:\projinf3\trunk\core\al\kernel\al_smi.c @ 508] fffff880`03af7a20 > fffff880`040b11c5 ibbus!spl_qp1_agent_pnp_cb+0xb5 > [q:\projinf3\trunk\core\al\kernel\al_smi.c @ 469] fffff880`03af7a60 > fffff880`040b3a3f ibbus!__pnp_notify_user+0x865 > [q:\projinf3\trunk\core\al\kernel\al_pnp.c @ 555] fffff880`03af7b00 > fffff880`040b3be3 ibbus!__pnp_process_remove_port+0x35f > [q:\projinf3\trunk\core\al\kernel\al_pnp.c @ 1062] fffff880`03af7c20 > fffff880`0404852f ibbus!__pnp_process_remove_ca+0xc3 > [q:\projinf3\trunk\core\al\kernel\al_pnp.c @ 1101] fffff880`03af7c80 > fffff880`0404e505 ibbus!__cl_async_proc_worker+0xbf > [q:\projinf3\trunk\core\complib\cl_async_proc.c @ 153] fffff880`03af7cd0 > fffff880`0404f7fc ibbus!__cl_thread_pool_routine+0x75 > [q:\projinf3\trunk\core\complib\cl_threadpool.c @ 67] fffff880`03af7d10 > fffff800`01922166 ibbus!__thread_callback+0x3c > [q:\projinf3\trunk\core\complib\kernel\cl_thread.c @ 48] > fffff880`03af7d40 fffff800`0165d486 nt!PspSystemThreadStartup+0x5a > fffff880`03af7d80 00000000`00000000 nt!KxStartSystemThread+0x16 > _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
