diff options
author | Oliver Neukum <oliver@neukum.org> | 2008-10-21 10:39:04 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-22 10:05:29 -0700 |
commit | a496c64f1363ec4d67ebdc1e1f619ad6372a574c (patch) | |
tree | c370f2167bbe2e4677bb7c48aa2cd7f8c2d888a6 /drivers | |
parent | e8fab4ce763c36869624c5388714ff19c30a91a7 (diff) | |
download | op-kernel-dev-a496c64f1363ec4d67ebdc1e1f619ad6372a574c.zip op-kernel-dev-a496c64f1363ec4d67ebdc1e1f619ad6372a574c.tar.gz |
USB: fix memory leak in cdc-acm
This fixes a memory leak on disconnect in cdc-acm
Thanks to 施金前 for finding it.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index fab23ee..20104443 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -849,9 +849,10 @@ static void acm_write_buffers_free(struct acm *acm) { int i; struct acm_wb *wb; + struct usb_device *usb_dev = interface_to_usbdev(acm->control); for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) { - usb_buffer_free(acm->dev, acm->writesize, wb->buf, wb->dmah); + usb_buffer_free(usb_dev, acm->writesize, wb->buf, wb->dmah); } } |