Skip to content

Commit

Permalink
staging: ath6kl: Fixing a memory leak
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Vipin Mehta authored and Greg Kroah-Hartman committed Feb 18, 2011
1 parent fb9b548 commit 774c1fe
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/staging/ath6kl/htc2/AR6000/ar6k.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
2 changes: 2 additions & 0 deletions drivers/staging/ath6kl/htc2/AR6000/ar6k.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions drivers/staging/ath6kl/htc2/htc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"));
Expand Down

0 comments on commit 774c1fe

Please sign in to comment.