diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2013-09-26 23:08:15 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-27 03:31:37 +0400 |
commit | d5b5c9f228bf15d134b0ac8d493b119417f5f9e9 (patch) | |
tree | b7010bb574453c96d874f1ba03d72bd4d94de063 /drivers/usb | |
parent | ffd6d17ddb1bea8267ee3edf6032fc6aa777e832 (diff) | |
download | linux-d5b5c9f228bf15d134b0ac8d493b119417f5f9e9.tar.xz |
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')
-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); |