94f341db3d
In case of probing errors the driver kfrees the udc_controller, but it doesn't set the pointer to NULL. When usb_gadget_register_driver is called, it checks for udc_controller != NULL, the check passes and the driver accesses nonexistent memory. Fix this by setting udc_controller to NULL in case of errors. While at it, also implement irq_of_parse_and_map()'s failure and cleanup cases. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
---|---|---|
.. | ||
amd5536udc.c | ||
amd5536udc.h | ||
at91_udc.c | ||
at91_udc.h | ||
atmel_usba_udc.c | ||
atmel_usba_udc.h | ||
cdc2.c | ||
ci13xxx_udc.c | ||
ci13xxx_udc.h | ||
composite.c | ||
config.c | ||
dummy_hcd.c | ||
epautoconf.c | ||
ether.c | ||
f_acm.c | ||
f_ecm.c | ||
f_loopback.c | ||
f_obex.c | ||
f_phonet.c | ||
f_rndis.c | ||
f_serial.c | ||
f_sourcesink.c | ||
f_subset.c | ||
file_storage.c | ||
fsl_qe_udc.c | ||
fsl_qe_udc.h | ||
fsl_usb2_udc.c | ||
fsl_usb2_udc.h | ||
g_zero.h | ||
gadget_chips.h | ||
gmidi.c | ||
goku_udc.c | ||
goku_udc.h | ||
imx_udc.c | ||
imx_udc.h | ||
inode.c | ||
Kconfig | ||
lh7a40x_udc.c | ||
lh7a40x_udc.h | ||
m66592-udc.c | ||
m66592-udc.h | ||
Makefile | ||
ndis.h | ||
net2280.c | ||
net2280.h | ||
omap_udc.c | ||
omap_udc.h | ||
printer.c | ||
pxa25x_udc.c | ||
pxa25x_udc.h | ||
pxa27x_udc.c | ||
pxa27x_udc.h | ||
rndis.c | ||
rndis.h | ||
s3c2410_udc.c | ||
s3c2410_udc.h | ||
serial.c | ||
u_ether.c | ||
u_ether.h | ||
u_phonet.h | ||
u_serial.c | ||
u_serial.h | ||
usbstring.c | ||
zero.c |