aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class/cdc-acm.c
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.org>2008-10-21 04:39:04 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-22 13:05:29 -0400
commita496c64f1363ec4d67ebdc1e1f619ad6372a574c (patch)
treec370f2167bbe2e4677bb7c48aa2cd7f8c2d888a6 /drivers/usb/class/cdc-acm.c
parente8fab4ce763c36869624c5388714ff19c30a91a7 (diff)
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/usb/class/cdc-acm.c')
-rw-r--r--drivers/usb/class/cdc-acm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index fab23ee8702b..20104443081a 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)
849{ 849{
850 int i; 850 int i;
851 struct acm_wb *wb; 851 struct acm_wb *wb;
852 struct usb_device *usb_dev = interface_to_usbdev(acm->control);
852 853
853 for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) { 854 for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) {
854 usb_buffer_free(acm->dev, acm->writesize, wb->buf, wb->dmah); 855 usb_buffer_free(usb_dev, acm->writesize, wb->buf, wb->dmah);
855 } 856 }
856} 857}
857 858