Realizing this thread is now a few years old: I had the same error (transfer buffer not dma capable, coming from usb_hcd_map_urb_for_dma) using a Line6 Pod XT through the snd-usb-pod kernel module (uses snd-usb-line6), the machine running stock kernel package 4.9.0-9.
Inspecting the source, it appears the message buffers are still coming from the stack as of this kernel package. Applying Ben Hutchings' patches as of message: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852749#10 ... these moving the message buffers off the stack and adding error checks to the toneport set, doing so corrected the problem. Device is now functional; thanks much. AJM