From e53a42085d722ad450543618c16bb407ef546b7d Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 28 Nov 2007 16:20:51 +0000 Subject: [PATCH] --- yaml --- r: 79103 b: refs/heads/master c: 77d8cf2c093be3b58f6deed10673d0bc8cbd4202 h: refs/heads/master i: 79101: fb661c05cce290300bdb5d20424aa1b4dda835a2 79099: cbe62df97d5cc954bd0f663e3fcc39f8114efa33 79095: 40e9589b9b72d3e41bd87c848067ac5acda0551c 79087: bb82c4d30cb332ed410352d7c4e451a05e2b6447 79071: 5639726f3c0c3dee136230155314cc487050d3d4 79039: 78e36f1ab73e2ec2a00698a8b636168b5474425c 78975: f2ca8f33b73ad7526d4b9960358c148247d744d7 78847: 24505d58f037a2884a456b2348d9fad0d38342b3 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/libertas/if_usb.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f865939c8658..f4db22336690 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38d1b4ce901506729f6c7f9a14f02f4327c577cc +refs/heads/master: 77d8cf2c093be3b58f6deed10673d0bc8cbd4202 diff --git a/trunk/drivers/net/wireless/libertas/if_usb.c b/trunk/drivers/net/wireless/libertas/if_usb.c index 4fce0baa0711..c27ffcfdbe88 100644 --- a/trunk/drivers/net/wireless/libertas/if_usb.c +++ b/trunk/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: