mirror of https://github.com/torvalds/linux.git
fsl_udc_release() calls dma_free_coherent() with an inappropriate device passed to it, and since the device has no dma_ops, the following oops pops up: Kernel BUG at d103ce9c [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] ... NIP [d103ce9c] fsl_udc_release+0x50/0x80 [fsl_usb2_udc] LR [d103ce74] fsl_udc_release+0x28/0x80 [fsl_usb2_udc] Call Trace: [cfbc7dc0] [d103ce74] fsl_udc_release+0x28/0x80 [fsl_usb2_udc] [cfbc7dd0] [c01a35c4] device_release+0x2c/0x90 [cfbc7de0] [c016b480] kobject_cleanup+0x58/0x98 [cfbc7e00] [c016c52c] kref_put+0x54/0x6c [cfbc7e10] [c016b360] kobject_put+0x34/0x64 [cfbc7e20] [c01a1d0c] put_device+0x1c/0x2c [cfbc7e30] [d103dbfc] fsl_udc_remove+0xc0/0x1e4 [fsl_usb2_udc] ... This patch fixes the issue by passing dev->parent, which points to a correct device. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Cc: Li Yang <leoli@freescale.com> Cc: David Brownell <dbrownell@users.sourceforge.net> Cc: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| amd5536udc.c | ||
| amd5536udc.h | ||
| at91_udc.c | ||
| at91_udc.h | ||
| atmel_usba_udc.c | ||
| atmel_usba_udc.h | ||
| audio.c | ||
| cdc2.c | ||
| ci13xxx_udc.c | ||
| ci13xxx_udc.h | ||
| composite.c | ||
| config.c | ||
| dummy_hcd.c | ||
| epautoconf.c | ||
| ether.c | ||
| f_acm.c | ||
| f_audio.c | ||
| f_ecm.c | ||
| f_eem.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_mx3_udc.c | ||
| fsl_qe_udc.c | ||
| fsl_qe_udc.h | ||
| fsl_udc_core.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 | ||
| langwell_udc.c | ||
| langwell_udc.h | ||
| lh7a40x_udc.c | ||
| lh7a40x_udc.h | ||
| m66592-udc.c | ||
| m66592-udc.h | ||
| 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 | ||
| r8a66597-udc.c | ||
| r8a66597-udc.h | ||
| rndis.c | ||
| rndis.h | ||
| s3c-hsotg.c | ||
| s3c2410_udc.c | ||
| s3c2410_udc.h | ||
| serial.c | ||
| u_audio.c | ||
| u_audio.h | ||
| u_ether.c | ||
| u_ether.h | ||
| u_phonet.h | ||
| u_serial.c | ||
| u_serial.h | ||
| usbstring.c | ||
| zero.c | ||