linux/drivers/usb/gadget
Alan Stern d5aa475180 USB: g_printer: fix bug in unregistration
This patch (as1441) fixes a bug in g_printer.  The gadget driver, char
device number, and class device should be unregistered in reverse
order of registration.  As it is now, when the module is unloaded the
class device gets unregistered first, causing a crash when the unbind
method tries to access it.

This fixes Bugzilla #25882.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: Roland Kletzing <devzero@web.de>
CC: Craig W. Nadler <craig@nadler.us>
CC: <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-22 18:38:57 -08:00
..
amd5536udc.c USB: gadget: amd5536udc.c: delete double assignment 2010-11-11 05:51:15 -08:00
amd5536udc.h
at91_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
at91_udc.h ARM: 6209/3: at91_udc: Add vbus polarity and polling mode 2010-07-18 20:39:10 +01:00
atmel_usba_udc.c USB: atmel_usba_udc: fix freeing irq in usba_udc_remove() 2010-12-16 13:36:12 -08:00
atmel_usba_udc.h
audio.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
cdc2.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
ci13xxx_msm.c USB: gadget: Implement runtime PM for MSM bus glue driver 2010-12-10 14:23:34 -08:00
ci13xxx_pci.c USB: gadget: Introduce ci13xxx_udc_driver struct 2010-12-10 14:23:33 -08:00
ci13xxx_udc.c USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096 2010-12-16 13:32:37 -08:00
ci13xxx_udc.h USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096 2010-12-16 13:32:37 -08:00
composite.c USB: Merge 2.6.37-rc5 into usb-next 2010-12-22 12:25:34 -08:00
config.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
dbgp.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
dummy_hcd.c usb: dummy_hcd code simplification 2010-11-11 06:19:35 -08:00
epautoconf.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
ether.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_acm.c USB: Change acm_iad_descriptor bFunctionProtocol to USB_CDC_ACM_PROTO_AT_V25TER 2010-10-22 10:21:35 -07:00
f_audio.c drivers/usb: Remove unnecessary return's from void functions 2010-08-10 14:25:42 +02:00
f_ecm.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_eem.c USB: gadget eth: Fix calculate CRC32 in EEM 2010-06-30 08:16:06 -07:00
f_fs.c Merge branch 'usb-next' into musb-merge 2010-12-16 10:05:06 -08:00
f_hid.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
f_loopback.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
f_ncm.c usb: gadget: f_ncm.c added 2010-12-10 14:29:43 -08:00
f_obex.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_phonet.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_rndis.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_sourcesink.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
f_subset.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_uvc.c V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
f_uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
file_storage.c USB: gadget: file_storage: put_device() in error recovery 2010-11-11 05:58:48 -08:00
fsl_mxc_udc.c plat-mxc/ehci.c: fix compile breakage 2010-12-03 11:05:09 +01:00
fsl_qe_udc.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
fsl_qe_udc.h
fsl_udc_core.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
fsl_usb2_udc.h
g_ffs.c usb: gadget: g_fs: Fix compilation warning 2010-11-17 13:24:46 -08:00
g_zero.h
gadget_chips.h Merge branch 'musb-hw' of git://gitorious.org/usb/usb into musb 2010-12-15 09:29:38 -08:00
gmidi.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
goku_udc.c usb: gadget: goku_udc: Fix error path 2010-10-22 10:22:04 -07:00
goku_udc.h usb: gadget: goku_udc: add registered flag bit, fixing build 2010-11-11 06:57:24 -08:00
hid.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
imx_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
imx_udc.h usb: gadget/imx-udc: remove usage of deprecated symbol USBD_INT0 2010-11-11 05:51:15 -08:00
inode.c convert get_sb_single() users 2010-10-29 04:16:28 -04:00
Kconfig USB: pch_udc: support new device ML7213 IOH 2011-01-22 18:36:43 -08:00
langwell_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
langwell_udc.h USB: langwell: USB Client driver memory handling 2010-10-22 10:21:19 -07:00
lh7a40x_udc.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
lh7a40x_udc.h
m66592-udc.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
m66592-udc.h usb: gadget: m66592-udc pio to mmio accessor conversion. 2010-06-02 16:26:13 +09:00
Makefile usb: gadget: g_ncm added 2010-12-10 14:29:43 -08:00
mass_storage.c USB: gadget: f_mass_storage: code style clean ups 2010-11-11 05:58:49 -08:00
multi.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
mv_udc.h USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
mv_udc_core.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
mv_udc_phy.c USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips 2010-11-30 16:51:21 -08:00
ncm.c usb: gadget: g_ncm added 2010-12-10 14:29:43 -08:00
ndis.h
net2280.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
net2280.h
nokia.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
omap_udc.c Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2010-10-25 13:46:56 -07:00
omap_udc.h
pch_udc.c USB: pch_udc: support new device ML7213 IOH 2011-01-22 18:36:43 -08:00
printer.c USB: g_printer: fix bug in unregistration 2011-01-22 18:38:57 -08:00
pxa25x_udc.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
pxa25x_udc.h
pxa27x_udc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
pxa27x_udc.h USB: pxa27x_udc: use four bits to store endpoint addresses 2010-05-20 13:21:36 -07:00
r8a66597-udc.c usb: r8a66597-udc: Add processing when USB was removed. 2010-10-22 10:22:18 -07:00
r8a66597-udc.h USB: r8a66597-udc: Initialize uninitialized variable, fix compile warning 2010-10-22 10:21:34 -07:00
rndis.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
rndis.h USB: rndis: section mismatch fix 2010-09-03 17:33:40 -07:00
s3c-hsotg.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
s3c2410_udc.c usb gadget: don't save bind callback in struct usb_gadget_driver 2010-10-22 10:21:25 -07:00
s3c2410_udc.h
serial.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
storage_common.c block: check bdev_read_only() from blkdev_get() 2010-11-13 11:55:17 +01:00
u_audio.c usb: g_audio: Fix crash at driver removal 2010-12-03 12:05:35 -08:00
u_audio.h
u_ether.c Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
u_ether.h usb: gadget: f_ncm.c added 2010-12-10 14:29:43 -08:00
u_phonet.h
u_serial.c usb: subtle increased memory usage in u_serial 2010-11-11 07:03:48 -08:00
u_serial.h
usbstring.c
uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
uvc_queue.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_queue.h V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_v4l2.c USB: uvc_v4l2: cleanup test for end of loop 2010-08-23 20:50:14 -07:00
uvc_video.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
webcam.c usb gadget: don't save bind callback in struct usb_configuration 2010-10-22 10:21:26 -07:00
zero.c usb gadget: don't save bind callback in struct usb_composite_driver 2010-10-22 10:21:25 -07:00