/* clean up scatter support */ void CleanupHIFScatterResources(struct hif_device *device) { struct hif_scatter_req_priv *pReqPriv; struct hif_scatter_req *pReq; /* empty the free list */ while (1) { pReq = AllocScatterReq(device); if (NULL == pReq) { break; } pReqPriv = (struct hif_scatter_req_priv *)pReq->HIFPrivate[0]; A_ASSERT(pReqPriv != NULL); if (pReqPriv->busrequest != NULL) { pReqPriv->busrequest->pScatterReq = NULL; /* free bus request */ hifFreeBusRequest(device, pReqPriv->busrequest); pReqPriv->busrequest = NULL; } if (pReqPriv->pHifScatterReq != NULL) { kfree(pReqPriv->pHifScatterReq); pReqPriv->pHifScatterReq = NULL; } kfree(pReqPriv); } }
/* clean up scatter support */ void CleanupHIFScatterResources(HIF_DEVICE *device) { HIF_SCATTER_REQ_PRIV *pReqPriv; HIF_SCATTER_REQ *pReq; /* empty the free list */ while (1) { pReq = AllocScatterReq(device); if (NULL == pReq) { break; } pReqPriv = (HIF_SCATTER_REQ_PRIV *)pReq->HIFPrivate[0]; A_ASSERT(pReqPriv != NULL); if (pReqPriv->busrequest != NULL) { pReqPriv->busrequest->pScatterReq = NULL; /* free bus request */ hifFreeBusRequest(device, pReqPriv->busrequest); pReqPriv->busrequest = NULL; } if (pReqPriv->pHifScatterReq != NULL) { A_FREE(pReqPriv->pHifScatterReq); pReqPriv->pHifScatterReq = NULL; } A_FREE(pReqPriv); } }
void CleanupHIFScatterResources(HIF_DEVICE *device) { HIF_SCATTER_REQ *pReq; while (1) { pReq = AllocScatterReq(device); if (NULL == pReq) { break; } if (GET_SDREQUEST_SR(pReq) != NULL) { /* free bus request */ SDDeviceFreeRequest(device->handle, GET_SDREQUEST_SR(pReq)); SET_SDREQUEST_SR(pReq, NULL); } CleanupScatterResource(device,pReq); A_FREE(pReq); } }