linux-uconsole/drivers/usb/class
Axel Lin 439cf16bb5 USB: cdc-acm: fix resource reclaim in error path of acm_probe
commit c2572b78aa upstream.

This patch fixes resource reclaim in error path of acm_probe:

1. In the case of "out of memory (read urbs usb_alloc_urb)\n")", there
   is no need to call acm_read_buffers_free(acm) here.  Fix it by goto
   alloc_fail6 instead of alloc_fail7.
2. In the case of "out of memory (write urbs usb_alloc_urb)",
   usb_alloc_urb may fail in any iteration of the for loop.  Current
   implementation does not properly free allocated snd->urb.  Fix it by
   goto alloc_fail8 instead of alloc_fail7.
3. In the case of device_create_file(&intf->dev,&dev_attr_iCountryCodeRelDate)
   fail, acm->country_codes is kfreed. As a result, device_remove_file
   for dev_attr_wCountryCodes will not be executed in acm_disconnect.
   Fix it by calling device_remove_file for dev_attr_wCountryCodes
   before goto skip_countries.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-05 11:11:07 -07:00
..
cdc-acm.c USB: cdc-acm: fix resource reclaim in error path of acm_probe 2010-07-05 11:11:07 -07:00
cdc-acm.h USB: cdc-acm: Update to new autopm API 2010-04-26 07:41:33 -07:00
cdc-wdm.c USB: CDC WDM driver doesn't support non-blocking reads 2009-09-23 06:46:16 -07:00
Kconfig USB: add USB test and measurement class driver 2008-10-17 14:40:51 -07:00
Makefile USB: add USB test and measurement class driver 2008-10-17 14:40:51 -07:00
usblp.c Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
usbtmc.c USB: usbtmc: repeat usb_bulk_msg until whole message is transfered 2009-12-18 14:03:59 -08:00