diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2013-09-26 21:08:15 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-27 01:31:37 +0200 |
commit | d5b5c9f228bf15d134b0ac8d493b119417f5f9e9 (patch) | |
tree | b7010bb574453c96d874f1ba03d72bd4d94de063 /drivers/usb/wusbcore/wa-xfer.c | |
parent | usb: wusbcore: resource cleanup fix in __wa_xfer_setup_segs (diff) | |
download | linux-d5b5c9f228bf15d134b0ac8d493b119417f5f9e9.tar.xz linux-d5b5c9f228bf15d134b0ac8d493b119417f5f9e9.zip |
usb: wusbcore: clean up the sg list that was created for out transfers
Clean up the SG list after transfer completetion for out transfers if one
was created by the HWA.
Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/wusbcore/wa-xfer.c')
-rw-r--r-- | drivers/usb/wusbcore/wa-xfer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c index f614fb1ed77f..61b0597c399b 100644 --- a/drivers/usb/wusbcore/wa-xfer.c +++ b/drivers/usb/wusbcore/wa-xfer.c @@ -520,6 +520,10 @@ static void wa_seg_dto_cb(struct urb *urb) unsigned rpipe_ready = 0; u8 done = 0; + /* free the sg if it was used. */ + kfree(urb->sg); + urb->sg = NULL; + switch (urb->status) { case 0: spin_lock_irqsave(&xfer->lock, flags); |