USBError: Errno 110, USB Kernel issue?

I have a unique problem that I have ruled down to an issue with the kernel (the very same code and libraries are working on a virtual environment on my PC). I have tried a few different kernels, but I am currently using kernel 4.9.36-ti-r45.

The problem occurs when I try to close a connection on the USB after having written data over the USB.

I was able to pull this from the logs, and I found the highlighted line used to be a similar bug in the old kernels, but 4.9.36 appears to have the fix already in place:

Jul 11 15:33:35 beaglebone kernel: [ 518.768865] WARNING: CPU: 0 PID: 2150 at drivers/usb/musb/musb_host.c:140 musb_h_tx_flush_fifo+0xf0/0xf4
Jul 11 15:33:35 beaglebone kernel: [ 518.768878] musb-hdrc musb-hdrc.1: Could not flush host TX2 fifo: csr: 2003
Jul 11 15:33:35 beaglebone kernel: [ 518.768886] Modules linked in: c_can_platform c_can can_dev spi_omap2_mcspi pvrsrvkm(O) omap_sham omap_aes_driver snd_soc_simple_card crypto_engine snd_soc_simple_card_utils pruss_soc_bus omap_rng rng_core snd_soc_davinci_mcasp snd_soc_omap snd_soc_edma snd_soc_hdmi_codec snd_soc_core snd_pcm_dmaengine snd_pcm evdev snd_timer snd soundcore tps65217_charger uio_pdrv_genirq uio usb_f_mass_storage 8021q garp mrp stp llc usb_f_acm u_serial usb_f_ecm usb_f_rndis u_ether cpufreq_powersave cpufreq_userspace cpufreq_conservative libcomposite cpufreq_ondemand spidev pru_rproc pruss_intc pruss tieqep
Jul 11 15:33:35 beaglebone kernel: [ 518.769179] CPU: 0 PID: 2150 Comm: python Tainted: G O 4.9.36-ti-r45 #1
Jul 11 15:33:35 beaglebone kernel: [ 518.769186] Hardware name: Generic AM33XX (Flattened Device Tree)
Jul 11 15:33:35 beaglebone kernel: [ 518.769238] [] (unwind_backtrace) from [] (show_stack+0x20/0x24)
Jul 11 15:33:35 beaglebone kernel: [ 518.769259] [] (show_stack) from [] (dump_stack+0x90/0xa4)
Jul 11 15:33:35 beaglebone kernel: [ 518.769281] [] (dump_stack) from [] (__warn+0xf8/0x110)
Jul 11 15:33:35 beaglebone kernel: [ 518.769300] [] (__warn) from [] (warn_slowpath_fmt+0x58/0x74)
Jul 11 15:33:35 beaglebone kernel: [ 518.769318] [] (warn_slowpath_fmt) from [] (musb_h_tx_flush_fifo+0xf0/0xf4)
Jul 11 15:33:35 beaglebone kernel: [ 518.769337] [] (musb_h_tx_flush_fifo) from [] (musb_cleanup_urb+0x60/0xf0)
Jul 11 15:33:35 beaglebone kernel: [ 518.769354] [] (musb_cleanup_urb) from [] (musb_urb_dequeue+0x1b4/0x1d4)
Jul 11 15:33:35 beaglebone kernel: [ 518.769384] [] (musb_urb_dequeue) from [] (unlink1+0x3c/0x124)
Jul 11 15:33:35 beaglebone kernel: [ 518.769404] [] (unlink1) from [] (usb_hcd_unlink_urb+0x64/0xdc)
Jul 11 15:33:35 beaglebone kernel: [ 518.769422] [] (usb_hcd_unlink_urb) from [] (usb_kill_urb+0x6c/0xf4)
Jul 11 15:33:35 beaglebone kernel: [ 518.769451] [] (usb_kill_urb) from [] (usbdev_ioctl+0x1460/0x1d94)
Jul 11 15:33:35 beaglebone kernel: [ 518.769480] [] (usbdev_ioctl) from [] (do_vfs_ioctl+0xbc/0x9c8)
Jul 11 15:33:35 beaglebone kernel: [ 518.769501] [] (do_vfs_ioctl) from [] (SyS_ioctl+0x7c/0x8c)
Jul 11 15:33:35 beaglebone kernel: [ 518.769528] [] (SyS_ioctl) from [] (ret_fast_syscall+0x0/0x3c)
Jul 11 15:33:35 beaglebone kernel: [ 518.769540] —[ end trace f94fcd49ef949ddc ]—

Anyone have any ideas: kernel fixes, USB snooping programs so I can try to see what is happening, etc?