Steps followed: 1. Extracted the Linux SDK binary. Version - ti-processor-sdk-linux-am57xx-evm-03.01.00.06-Linux-x86-Install.bin 2. Applied the given patches in v4.4.y-g-uvc-dwc3.patch.tar.xz (Which were sent recently) 3. Compiled the kernel and copied the modules to SD Card rootfs. 4. Inserted the module g_webcam (packet size = 1024) and when the uvcgagdget application is run kernel panics. Below is the log of kernel panic. This kernel panic is due to the workaround code of dwc3_gadget_pullup() function in gadget.c Log: [ 27.599117] Modules linked in: g_webcam usb_f_uvc videobuf2_vmalloc libcomposite configfs dwc3 bc_example(O) rpmsg_proto rpmsg_pru rpmsg_rpc xhci_d [ 27.625111] xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 snd_soc_simple_card af_key xfrm_algo snd_soc_omap_hdmi_audio ecb sha512_generic sha512_arm td [ 27.665716] pixcir_i2c_ts extcon_palmas extcon mt9t11x rtc_palmas snd_soc_tlv320aic3x rtc_ds1307 omap_des omap_rng rng_core debugss_kmodule(O) om] [ 27.691691] CPU: 0 PID: 1186 Comm: app Tainted: G O 4.4.19-gdb0b54cdad #3 [ 27.699639] Hardware name: Generic DRA74X (Flattened Device Tree) [ 27.705756] Backtrace: [ 27.708231] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 27.715828] r7:c09166d4 r6:200c0013 r5:00000000 r4:c0940d8c [ 27.721542] [] (show_stack) from [] (dump_stack+0x8c/0xa0) [ 27.728794] [] (dump_stack) from [] (__schedule_bug+0x54/0x64) [ 27.736391] r7:c09166d4 r6:c0912e00 r5:ec386c00 r4:00000000 [ 27.742097] [] (__schedule_bug) from [] (__schedule+0x55c/0x668) [ 27.749869] r5:ec386c00 r4:eed32e00 [ 27.753468] [] (__schedule) from [] (schedule+0x54/0xc4) [ 27.760542] r10:ed8b9f5c r9:00000000 r8:ffff95a1 r7:c0916100 r6:ed8b9c6c r5:eed303c0 [ 27.768431] r4:ed8b8000 [ 27.770979] [] (schedule) from [] (schedule_timeout+0x118/0x1ac) [ 27.778750] r5:eed303c0 r4:eed303c0 [ 27.782350] [] (schedule_timeout) from [] (wait_for_common+0x90/0x140) [ 27.790643] r8:00000002 r7:ed8b8000 r6:ec6b2b44 r5:ec6b2b48 r4:0000000a [ 27.797401] [] (wait_for_common) from [] (wait_for_completion_timeout+0x14/0x18) [ 27.806567] r9:ec6b2b44 r8:55332209 r7:ec6b288c r6:ec6b2810 r5:00000000 r4:ec6b2970 [ 27.814426] [] (wait_for_completion_timeout) from [] (dwc3_gadget_pullup+0x100/0x2e8 [dwc3]) [ 27.824672] [] (dwc3_gadget_pullup [dwc3]) from [] (usb_function_activate+0xcc/0xe0 [libcomposite]) [ 27.835496] r10:ed8b9f5c r9:ee426000 r8:d44f49c0 r7:ec6b2970 r6:600c0013 r5:ec20e45c [ 27.843393] r4:ec20e400 [ 27.845969] [] (usb_function_activate [libcomposite]) from [] (uvc_function_connect+0x1c/0x3c [usb_f_uvc]) [ 27.857404] r7:ed9b26c0 r6:ec6b3000 r5:ec6b3000 r4:ec20e400 [ 27.863131] [] (uvc_function_connect [usb_f_uvc]) from [] (uvc_v4l2_open+0x60/0x70 [usb_f_uvc]) [ 27.873608] r5:ec6b3000 r4:edb9b780 [ 27.877222] [] (uvc_v4l2_open [usb_f_uvc]) from [] (v4l2_open+0xa4/0x108) [ 27.885780] r7:ed9b26c0 r6:ec6b3050 r5:ed9b26c0 r4:ec6b3000 [ 27.891494] [] (v4l2_open) from [] (chrdev_open+0xac/0x180) [ 27.898830] r7:ed9b26c0 r6:ec7d5d40 r5:d44f49c0 r4:c06d1ff8 [ 27.904545] [] (chrdev_open) from [] (do_dentry_open+0x1e0/0x300) [ 27.912404] r8:00000000 r7:ec7d5d40 r6:c0123608 r5:ed9b26c8 r4:ed9b26c0 [ 27.919171] [] (do_dentry_open) from [] (vfs_open+0x60/0x88) [ 27.926595] r9:ee426000 r8:00000000 r7:00000000 r6:ed8b9eb0 r5:ed9b26c0 r4:ed8b9eb0 [ 27.934411] [] (vfs_open) from [] (path_openat+0x17c/0xfb0) [ 27.941748] r5:00000000 r4:00000802 [ 27.945353] [] (path_openat) from [] (do_filp_open+0x6c/0xd0) [ 27.952863] r10:00000000 r9:ed8b8000 r8:c000fbc4 r7:00000001 r6:ed8b9f5c r5:ed8b9eb0 [ 27.960757] r4:00000003 [ 27.963306] [] (do_filp_open) from [] (do_sys_open+0x118/0x1dc) [ 27.970990] r7:fffff000 r6:ec3bf000 r5:ffffff9c r4:00000003 [ 27.976704] [] (do_sys_open) from [] (SyS_open+0x20/0x24) [ 27.983866] r9:ed8b8000 r8:c000fbc4 r7:00000005 r6:00000000 r5:00000000 r4:bee07a48 [ 27.991681] [] (SyS_open) from [] (ret_fast_syscall+0x0/0x34) [ 27.999451] Unable to handle kernel paging request at virtual address b6eb6c7c