Wind River Support Network

HomeDefectsLIN1019-2705
Not to be fixed

LIN1019-2705 : xilinx-zynq: generate calltrace in dma/debug.c:1220

Created: Sep 24, 2019    Updated: Apr 29, 2021
Resolved Date: Apr 29, 2021
Found In Version: 10.19.45.1
Severity: Standard
Applicable for: Wind River Linux LTS 19
Component/s: BSP

Description

This is a mainline issue, and it exists in all SOCs which are using Chipidea USB controller. In the USB driver, it should use dma_set_max_seg_size to define a segment maximum size. If not, the size will be at default to be 64K. But there is no document says that what value of the segment should be. Setting it as 64K will affect the performance, so leave it here when the mainline has a patch to fix it.

setup.sh --machines xilinx-zynq --templates feature/kdump,feature/kexec --distro wrlinux --dl-layers
Enable debug/hacking/teat kernel options, see kernel.config_5.2.x
boot a zc702 target.

[ OK ] Started Reboot and dump vmcore via kexec.
[ 267.162589] -----------[ cut here ]-----------
[ 267.183466] WARNING: CPU: 0 PID: 122 at kernel/dma/debug.c:1220 debug_dma_map_sg.part.0+0x2a0/0x34c
[ 267.229471] DMA-API: chipidea-usb2 e0002000.usb: mapping sg segment longer than device claims to support [len=77824] [max=65536]
[ 267.269087] Modules linked in: sch_fq_codel openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4
[ 267.303962] CPU: 0 PID: 122 Comm: usb-storage Tainted: G W 5.2.16-yocto-standard #1
[ 267.312937] Hardware name: Xilinx Zynq Platform
[ 267.317497] [<801149e0>] (unwind_backtrace) from [<8010dad8>] (show_stack+0x18/0x1c)
[ 267.325260] [<8010dad8>] (show_stack) from [<80c71824>] (dump_stack+0xbc/0xf0)
[ 267.332504] [<80c71824>] (dump_stack) from [<801286ec>] (__warn+0xdc/0xf8)
[ 267.339392] [<801286ec>] (__warn) from [<80128754>] (warn_slowpath_fmt+0x4c/0x78)
[ 267.346899] [<80128754>] (warn_slowpath_fmt) from [<801b3998>] (debug_dma_map_sg.part.0+0x2a0/0x34c)
[ 267.356056] [<801b3998>] (debug_dma_map_sg.part.0) from [<80913470>] (usb_hcd_map_urb_for_dma+0x30c/0x608)
[ 267.365728] [<80913470>] (usb_hcd_map_urb_for_dma) from [<8091405c>] (usb_hcd_submit_urb+0x1e0/0x288)
[ 267.374964] [<8091405c>] (usb_hcd_submit_urb) from [<80916958>] (usb_sg_wait+0xbc/0x198)
[ 267.383076] [<80916958>] (usb_sg_wait) from [<80934c24>] (usb_stor_bulk_transfer_sglist.part.0+0x88/0xcc)
[ 267.392654] [<80934c24>] (usb_stor_bulk_transfer_sglist.part.0) from [<80934ef4>] (usb_stor_bulk_srb+0x48/0x7c)
[ 267.402756] [<80934ef4>] (usb_stor_bulk_srb) from [<80935288>] (usb_stor_Bulk_transport+0x148/0x35c)
[ 267.411905] [<80935288>] (usb_stor_Bulk_transport) from [<80935684>] (usb_stor_invoke_transport+0x38/0x448)
[ 267.421663] [<80935684>] (usb_stor_invoke_transport) from [<809366f4>] (usb_stor_control_thread+0x1f4/0x25c)
[ 267.431506] [<809366f4>] (usb_stor_control_thread) from [<8014d164>] (kthread+0x144/0x15c)
[ 267.439784] [<8014d164>] (kthread) from [<801010b4>] (ret_from_fork+0x14/0x20)
[ 267.447014] Exception stack(0xb908dfb0 to 0xb908dff8)
[ 267.452077] dfa0: 00000000 00000000 00000000 00000000
[ 267.460265] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 267.468447] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 267.855377] --[ end trace 1e27f5d44a93df16 ]--
[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.

Steps to Reproduce

--machines xilinx-zynq --templates feature/kdump,feature/kexec --distro wrlinux --dl-layers
Enable debug/hacking/teat kernel options, see kernel.config_5.2.x
boot a zc702 target.
Live chat
Online