Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77d8cf2c093be3b58f6deed10673d0bc8cbd4202 Commit: 77d8cf2c093be3b58f6deed10673d0bc8cbd4202 Parent: 38d1b4ce901506729f6c7f9a14f02f4327c577cc Author: David Woodhouse <[EMAIL PROTECTED]> AuthorDate: Wed Nov 28 16:20:51 2007 +0000 Committer: David S. Miller <[EMAIL PROTECTED]> CommitDate: Mon Jan 28 15:05:59 2008 -0800
libertas: Fix memory leak of RX skbs Signed-off-by: David Woodhouse <[EMAIL PROTECTED]> Signed-off-by: John W. Linville <[EMAIL PROTECTED]> --- drivers/net/wireless/libertas/if_usb.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c index 4fce0ba..c27ffcf 100644 --- a/drivers/net/wireless/libertas/if_usb.c +++ b/drivers/net/wireless/libertas/if_usb.c @@ -460,6 +460,8 @@ static int __if_usb_submit_rx_urb(struct usb_card_rec *cardp, if ((ret = usb_submit_urb(cardp->rx_urb, GFP_ATOMIC))) { /* handle failure conditions */ lbs_deb_usbd(&cardp->udev->dev, "Submit Rx URB failed\n"); + kfree_skb(skb); + rinfo->skb = NULL; ret = -1; } else { /* lbs_deb_usbd(&cardp->udev->dev, "Submit Rx URB success\n"); */ @@ -667,8 +669,10 @@ static void if_usb_receive(struct urb *urb) lbs_deb_usbd(&cardp->udev->dev, "Recv length = 0x%x, Recv type = 0x%X\n", recvlength, recvtype); - } else if (urb->status) + } else if (urb->status) { + kfree_skb(skb); goto rx_exit; + } switch (recvtype) { case CMD_TYPE_DATA: - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html