staging: ath6kl: Fixing a memory leak
Virtual Scatter Gather Lists not getting freed during the HTCStop(). The patch adds some clean up code in the code path. Signed-off-by: Vipin Mehta <vmehta@atheros.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
fb9b548717
commit
774c1fe2fe
3 changed files with 13 additions and 0 deletions
|
@ -810,6 +810,15 @@ static int DevSetupVirtualScatterSupport(AR6K_DEVICE *pDev)
|
|||
return status;
|
||||
}
|
||||
|
||||
int DevCleanupMsgBundling(AR6K_DEVICE *pDev)
|
||||
{
|
||||
if(NULL != pDev)
|
||||
{
|
||||
DevCleanupVirtualScatterSupport(pDev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DevSetupMsgBundling(AR6K_DEVICE *pDev, int MaxMsgsPerTransfer)
|
||||
{
|
||||
|
|
|
@ -297,6 +297,8 @@ static INLINE int DEV_PREPARE_SCATTER_OPERATION(HIF_SCATTER_REQ *pReq) {
|
|||
|
||||
|
||||
int DevSetupMsgBundling(AR6K_DEVICE *pDev, int MaxMsgsPerTransfer);
|
||||
|
||||
int DevCleanupMsgBundling(AR6K_DEVICE *pDev);
|
||||
|
||||
#define DEV_GET_MAX_MSG_PER_BUNDLE(pDev) (pDev)->HifScatterInfo.MaxScatterEntries
|
||||
#define DEV_GET_MAX_BUNDLE_LENGTH(pDev) (pDev)->HifScatterInfo.MaxTransferSizePerScatterReq
|
||||
|
|
|
@ -486,6 +486,8 @@ void HTCStop(HTC_HANDLE HTCHandle)
|
|||
/* flush all recv buffers */
|
||||
HTCFlushRecvBuffers(target);
|
||||
|
||||
DevCleanupMsgBundling(&target->Device);
|
||||
|
||||
ResetEndpointStates(target);
|
||||
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-HTCStop \n"));
|
||||
|
|
Loading…
Reference in a new issue