From 280d02b4766147b86b38a3dd2a2b9dfe2bdba80a Mon Sep 17 00:00:00 2001 From: "U-AMR\\MSHEFTY" Date: Wed, 6 Jan 2010 21:33:39 -0800 Subject: [PATCH] refresh (create temporary patch) --- meta | 5 +- patches/refresh-temp | 110 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 patches/refresh-temp diff --git a/meta b/meta index d749b252..73cacc69 100644 --- a/meta +++ b/meta @@ -1,10 +1,11 @@ Version: 1 -Previous: 4db3684f7f6ac22b864c34204cb64a372ed8cd86 -Head: 1ba4f1046743d0c7f91709716704784c375c6f8c +Previous: dff9190c44b8e57616b3038a34a83be515fe64db +Head: 223eff641ce90fbfb9cb9fb2adaed334ba317e1e Applied: rm-build: d6d2302f2d258fa2c07e55a2e124a9bdd75367a0 cm_listen_handler: 56372fe5e423b7238a4db99258c1493748c0a582 cm_poll: 1ba4f1046743d0c7f91709716704784c375c6f8c + refresh-temp: 223eff641ce90fbfb9cb9fb2adaed334ba317e1e Unapplied: old-bld-32: bd1bd1d366e3927b7646da33e243213a5d59c235 old-apphang: 7a6f7ff02c6035e54fc262414eb9484ea98018b9 diff --git a/patches/refresh-temp b/patches/refresh-temp new file mode 100644 index 00000000..a5efcf6f --- /dev/null +++ b/patches/refresh-temp @@ -0,0 +1,110 @@ +Bottom: 63c882c8247675acf9df13d96a1beba51a1e0858 +Top: 9f754288917224d5cc6537c9267e9e00ce970062 +Author: U-AMR\MSHEFTY +Date: 2010-01-06 21:33:37 -0800 + +Refresh of cm_poll + +--- + +diff --git a/trunk/core/al/kernel/al_cm_cep.c b/trunk/core/al/kernel/al_cm_cep.c +index ea12045..d2bee9e 100644 +--- a/trunk/core/al/kernel/al_cm_cep.c ++++ b/trunk/core/al/kernel/al_cm_cep.c +@@ -6376,7 +6376,7 @@ al_cep_poll( + { + ib_api_status_t status; + kcep_t *p_cep; +- KIRQL irql; ++ KLOCK_QUEUE_HANDLE hdl; + + AL_PRINT( TRACE_LEVEL_VERBOSE, AL_DBG_CM, ("[ CID = %d\n", cid) ); + +@@ -6384,11 +6384,11 @@ al_cep_poll( + CL_ASSERT( p_new_cid ); + CL_ASSERT( pp_mad ); + +- KeAcquireSpinLock( &gp_cep_mgr->lock, &irql ); ++ KeAcquireInStackQueuedSpinLock( &gp_cep_mgr->lock, &hdl ); + p_cep = __lookup_cep( h_al, cid ); + if( !p_cep ) + { +- KeReleaseSpinLock( &gp_cep_mgr->lock, irql ); ++ KeReleaseInStackQueuedSpinLock( &hdl ); + AL_EXIT( AL_DBG_CM ); + return IB_INVALID_HANDLE; + } +@@ -6417,7 +6417,7 @@ al_cep_poll( + status = IB_SUCCESS; + + done: +- KeReleaseSpinLock( &gp_cep_mgr->lock, irql ); ++ KeReleaseInStackQueuedSpinLock( &hdl ); + AL_PRINT( TRACE_LEVEL_VERBOSE, AL_DBG_CM, ("] return %d\n", status) ); + return status; + } +diff --git a/trunk/core/winverbs/kernel/wv_ep.c b/trunk/core/winverbs/kernel/wv_ep.c +index 3a9e02f..bfa7f54 100644 +--- a/trunk/core/winverbs/kernel/wv_ep.c ++++ b/trunk/core/winverbs/kernel/wv_ep.c +@@ -1175,59 +1175,10 @@ static void WvEpGetIbRequest(WV_ENDPOINT *pListen) + static NTSTATUS WvEpIbListenHandler(iba_cm_id *pId, iba_cm_event *pEvent) + { + WV_ENDPOINT *listen; +-//, *ep; +-// WDFREQUEST request; +-// NTSTATUS status; +-// IB_CMA_HEADER *hdr; + +- listen = pId->context; //((iba_cm_id *) pId->context)->context; ++ listen = pId->context; + WvEpGetIbRequest(listen); + return STATUS_SUCCESS; +-// WdfObjectAcquireLock(listen->Queue); +-// status = WdfIoQueueRetrieveNextRequest(listen->Queue, &request); +-// if (!NT_SUCCESS(status)) { +-// goto release; +-// } +-// +-// ASSERT(!IsListEmpty(&listen->Entry)); +-// ep = CONTAINING_RECORD(RemoveHeadList(&listen->Entry), WV_ENDPOINT, Entry); +-// ep->pIbCmId = pId; +-// pId->callback = WvEpIbCmHandler; +-// pId->context = ep; +-// +-// hdr = pEvent->data.req.req.p_pdata; +-// if ((hdr->IpVersion >> 4) == 4) { +-// ep->Attributes.LocalAddress.SockAddr.In.SinFamily = WV_AF_INET; +-// ep->Attributes.LocalAddress.SockAddr.In.SinAddr = hdr->DstAddress.Ip4.Address; +-// ep->Attributes.PeerAddress.SockAddr.In.SinFamily = WV_AF_INET; +-// ep->Attributes.PeerAddress.SockAddr.In.SinAddr = hdr->SrcAddress.Ip4.Address; +-// } else { +-// ep->Attributes.LocalAddress.SockAddr.In6.Sin6Family = WV_AF_INET6; +-// RtlCopyMemory(ep->Attributes.LocalAddress.SockAddr.In6.Sin6Addr, +-// hdr->DstAddress.Ip6Address, 16); +-// ep->Attributes.PeerAddress.SockAddr.In6.Sin6Family = WV_AF_INET6; +-// RtlCopyMemory(ep->Attributes.PeerAddress.SockAddr.In6.Sin6Addr, +-// hdr->SrcAddress.Ip6Address, 16); +-// } +-// ep->Attributes.Device.DeviceGuid = pEvent->data.req.local_ca_guid; +-// ep->Attributes.Device.Pkey = pEvent->data.req.req.p_primary_path->pkey; +-// ep->Attributes.Device.PortNumber = pEvent->data.req.port_num; +-// ep->Attributes.Param.Connect.ResponderResources = pEvent->data.req.req.resp_res; +-// ep->Attributes.Param.Connect.InitiatorDepth = pEvent->data.req.req.init_depth; +-// ep->Attributes.Param.Connect.RetryCount = pEvent->data.req.req.retry_cnt; +-// ep->Attributes.Param.Connect.RnrRetryCount = pEvent->data.req.req.rnr_retry_cnt; +-// ep->Attributes.Param.Connect.DataLength = sizeof(ep->Attributes.Param.Connect.Data); +-// RtlCopyMemory(ep->Attributes.Param.Connect.Data, hdr + 1, +-// sizeof(ep->Attributes.Param.Connect.Data)); +-// ep->Route = *pEvent->data.req.req.p_primary_path; +-// +-// ep->State = WvEpPassiveConnect; +-// WvEpPut(ep); +-// +-// WdfRequestComplete(request, STATUS_SUCCESS); +-//release: +-// WdfObjectReleaseLock(listen->Queue); +-// return status; + } + + void WvEpListen(WV_PROVIDER *pProvider, WDFREQUEST Request) -- 2.46.0