Re: [PATCHv2] i2c: i2c-tiny-usb: fix buffer not being DMA capable

Till Harbaum
2017-05-20T20:04:39Z

On Friday, May 05, 2017 10:53:52 AM Greg KH wrote:
> On Fri, May 05, 2017 at 11:06:50AM +0200, Sebastian Reichel wrote:
> > Since v4.9 i2c-tiny-usb generates the below call trace
> > and longer works, since it can't communicate with the
> > USB device. The reason is, that since v4.9 the USB
> > stack checks, that the buffer it should transfer is DMA
> > capable. This was a requirement since v2.2 days, but it
> > usually worked nevertheless.
> >
> > [ 17.504959] ------------[ cut here ]------------
> > [ 17.505488] WARNING: CPU: 0 PID: 93 at drivers/usb/core/hcd.c:1587
> > usb_hcd_map_urb_for_dma+0x37c/0x570 [ 17.506545] transfer buffer not
> > dma capable
> > [ 17.507022] Modules linked in:
> > [ 17.507370] CPU: 0 PID: 93 Comm: i2cdetect Not tainted 4.11.0-rc8+ #10
> > [ 17.508103] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
> > 1.10.2-1 04/01/2014 [ 17.509039] Call Trace:
> > [ 17.509320] ? dump_stack+0x5c/0x78
> > [ 17.509714] ? __warn+0xbe/0xe0
> > [ 17.510073] ? warn_slowpath_fmt+0x5a/0x80
> > [ 17.510532] ? nommu_map_sg+0xb0/0xb0
> > [ 17.510949] ? usb_hcd_map_urb_for_dma+0x37c/0x570
> > [ 17.511482] ? usb_hcd_submit_urb+0x336/0xab0
> > [ 17.511976] ? wait_for_completion_timeout+0x12f/0x1a0
> > [ 17.512549] ? wait_for_completion_timeout+0x65/0x1a0
> > [ 17.513125] ? usb_start_wait_urb+0x65/0x160
> > [ 17.513604] ? usb_control_msg+0xdc/0x130
> > [ 17.514061] ? usb_xfer+0xa4/0x2a0
> > [ 17.514445] ? __i2c_transfer+0x108/0x3c0
> > [ 17.514899] ? i2c_transfer+0x57/0xb0
> > [ 17.515310] ? i2c_smbus_xfer_emulated+0x12f/0x590
> > [ 17.515851] ? _raw_spin_unlock_irqrestore+0x11/0x20
> > [ 17.516408] ? i2c_smbus_xfer+0x125/0x330
> > [ 17.516876] ? i2c_smbus_xfer+0x125/0x330
> > [ 17.517329] ? i2cdev_ioctl_smbus+0x1c1/0x2b0
> > [ 17.517824] ? i2cdev_ioctl+0x75/0x1c0
> > [ 17.518248] ? do_vfs_ioctl+0x9f/0x600
> > [ 17.518671] ? vfs_write+0x144/0x190
> > [ 17.519078] ? SyS_ioctl+0x74/0x80
> > [ 17.519463] ? entry_SYSCALL_64_fastpath+0x1e/0xad
> > [ 17.519959] ---[ end trace d047c04982f5ac50 ]---
> >
> > Cc: <stable@vger.kernel.org>
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Acked-by: Till Harbaum <till@harbaum.org>

--
Dr. Till Harbaum <till@harbaum.org>