This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: Kernel issue with USB hub

Part Number: AM3352
Other Parts Discussed in Thread: DP83620, DP83630, PCA9555, TUSB8041

Hi team, I using a LTE module through TUSB4041 connect to AM3352 USB1, when power on LTE module, Linux Kernel can correct enumerate every usb devices,dmesg as follow:
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.38 (test@test-virtual-machine) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #1 SMP PREEMPT Fri Aug 23 12:52:06 CST 2019
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: PDZ852-SENSOR
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 48 MiB at 0x8a800000
[ 0.000000] On node 0 totalpages: 65536
[ 0.000000] Normal zone: 576 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 65536 pages, LIFO batch:15
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (neon)
[ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x440 with crng_init=0
[ 0.000000] percpu: Embedded 15 pages/cpu s31756 r8192 d21492 u61440
[ 0.000000] pcpu-alloc: s31756 r8192 d21492 u61440 alloc=15*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.0.2:/home/test/rootfs/rootfs-dev,nolock rw ip=192.168.0.15:192.168.0.2:192.168.0.1:255.255.255.0::eth0:off
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 199428K/262144K available (7168K kernel code, 232K rwdata, 1844K rodata, 1024K init, 253K bss, 13564K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0x(ptrval) - 0x(ptrval) (8160 kB)
.init : 0x(ptrval) - 0x(ptrval) (1024 kB)
.data : 0x(ptrval) - 0x(ptrval) ( 233 kB)
.bss : 0x(ptrval) - 0x(ptrval) ( 254 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000021] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000051] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000068] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000316] timer_probe: no matching timers found
[ 0.000589] Console: colour dummy device 80x30
[ 0.000683] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
[ 0.118666] pid_max: default: 32768 minimum: 301
[ 0.118873] Security Framework initialized
[ 0.118896] Yama: becoming mindful.
[ 0.119026] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.119049] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.120301] CPU: Testing write buffer coherency: ok
[ 0.120396] CPU0: Spectre v2: using BPIALL workaround
[ 0.120971] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.178771] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.198663] rcu: Hierarchical SRCU implementation.
[ 0.238658] smp: Bringing up secondary CPUs ...
[ 0.238682] smp: Brought up 1 node, 1 CPU
[ 0.238698] SMP: Total of 1 processors activated (597.60 BogoMIPS).
[ 0.238711] CPU: All CPU(s) started in SVC mode.
[ 0.241021] devtmpfs: initialized
[ 0.258930] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.259576] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.259614] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.264267] pinctrl core: initialized pinctrl subsystem
[ 0.266039] NET: Registered protocol family 16
[ 0.271938] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.301796] l4_wkup_cm:clk:0010:0: failed to disable
[ 0.357350] cpuidle: using governor ladder
[ 0.357422] cpuidle: using governor menu
[ 0.365237] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
[ 0.365375] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
[ 0.365450] OMAP GPIO hardware version 0.1
[ 0.366369] gpio gpiochip1: Persistence not supported for GPIO 28
[ 0.366389] GPIO line 60 (ETHPHY_RESET_CTRL) hogged as output/high
[ 0.366694] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
[ 0.366824] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
[ 0.367886] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
[ 0.368006] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
[ 0.369281] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
[ 0.369426] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
[ 0.382263] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.426940] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.427934] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/fixedregulator0[0]'
[ 0.428443] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/fixedregulator1[0]'
[ 0.429114] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/regulators/fixedregulator2[0]'
[ 0.431426] media: Linux media interface: v0.10
[ 0.431505] videodev: Linux video capture interface: v2.00
[ 0.431568] pps_core: LinuxPPS API ver. 1 registered
[ 0.431582] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.431619] PTP clock support registered
[ 0.431673] EDAC MC: Ver: 3.0.0
[ 0.439539] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.441642] clocksource: Switched to clocksource timer1
[ 0.456523] NET: Registered protocol family 2
[ 0.457777] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 0.457832] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.457877] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.457934] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.458089] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.458129] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.458538] NET: Registered protocol family 1
[ 0.489718] RPC: Registered named UNIX socket transport module.
[ 0.489743] RPC: Registered udp transport module.
[ 0.489756] RPC: Registered tcp transport module.
[ 0.489768] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.491277] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.493553] Initialise system trusted keyrings
[ 0.494024] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[ 0.502908] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.514091] NFS: Registering the id_resolver key type
[ 0.514154] Key type id_resolver registered
[ 0.514168] Key type id_legacy registered
[ 0.514238] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.514893] pstore: using deflate compression
[ 0.518316] Key type asymmetric registered
[ 0.518343] Asymmetric key parser 'x509' registered
[ 0.518448] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.528837] io scheduler noop registered
[ 0.528860] io scheduler deadline registered
[ 0.529150] io scheduler cfq registered (default)
[ 0.529170] io scheduler mq-deadline registered
[ 0.529185] io scheduler kyber registered
[ 0.531980] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[ 0.618717] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 0.624364] omap_uart 44e09000.serial: no wakeirq for uart0
[ 0.624435] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@44e09000[0]'
[ 0.624476] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
[ 1.305993] console [ttyO0] enabled
[ 1.310539] omap_uart 48022000.serial: no wakeirq for uart1
[ 1.316509] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48022000[0]'
[ 1.316671] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
[ 1.327169] omap_uart 48024000.serial: no wakeirq for uart2
[ 1.333125] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48024000[0]'
[ 1.333245] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 32, base_baud = 3000000) is a OMAP UART2
[ 1.343700] omap_uart 481a6000.serial: no wakeirq for uart3
[ 1.349587] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a6000[0]'
[ 1.349704] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 33, base_baud = 3000000) is a OMAP UART3
[ 1.360280] omap_uart 481a8000.serial: no wakeirq for uart4
[ 1.366304] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a8000[0]'
[ 1.366422] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 34, base_baud = 3000000) is a OMAP UART4
[ 1.376930] omap_uart 481aa000.serial: no wakeirq for uart5
[ 1.382881] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481aa000[0]'
[ 1.382998] 481aa000.serial: ttyO5 at MMIO 0x481aa000 (irq = 35, base_baud = 3000000) is a OMAP UART5
[ 1.394750] omap_rng 48310000.rng: Random Number Generator ver. 20
[ 1.417947] brd: module loaded
[ 1.434199] loop: module loaded
[ 1.441021] mdio_bus fixed-0: GPIO lookup for consumer reset
[ 1.441039] mdio_bus fixed-0: using lookup tables for GPIO lookup
[ 1.441052] mdio_bus fixed-0: No GPIO consumer reset found
[ 1.441095] libphy: Fixed MDIO Bus: probed
[ 1.461454] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
[ 1.461469] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
[ 1.461503] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
[ 1.461528] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
[ 1.461542] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
[ 1.461554] mdio_bus 4a101000.mdio: No GPIO consumer reset found
[ 1.511718] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 1.519781] davinci_mdio 4a101000.mdio: detected phy mask fffffff5
[ 1.539089] libphy: 4a101000.mdio: probed
[ 1.543491] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver NatSemi DP83620/DP83630/83640 Without PTP
[ 1.555139] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver NatSemi DP83620/DP83630/83640 Without PTP
[ 1.567832] cpsw 4a100000.ethernet: Detected MACID = 0c:ae:7d:73:e0:9d
[ 1.575004] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[ 1.581786] cpsw 4a100000.ethernet: ALE Table size 1024
[ 1.587324] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.596601] cpsw 4a100000.ethernet: cpsw: Detected MACID = 0c:ae:7d:73:e0:9f
[ 1.606052] i2c /dev entries driver
[ 1.611537] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.619954] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com
[ 1.641964] cpuidle: enable-method property 'ti,am3352' found operations
[ 1.649757] sdhci: Secure Digital Host Controller Interface driver
[ 1.656420] sdhci: Copyright(c) Pierre Ossman
[ 1.662047] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
[ 1.662061] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[ 1.662121] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
[ 1.662225] gpio gpiochip0: Persistence not supported for GPIO 6
[ 1.662247] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.671396] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.676330] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
[ 1.676341] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
[ 1.676368] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
[ 1.676390] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
[ 1.676404] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
[ 1.676416] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
[ 1.677024] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
[ 1.712192] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer cd
[ 1.712221] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
[ 1.712281] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@481d8000[0]'
[ 1.712325] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@481d8000[0]'
[ 1.712351] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
[ 1.712374] omap_hsmmc 481d8000.mmc: No GPIO consumer cd found
[ 1.712401] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer wp
[ 1.712420] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
[ 1.712461] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@481d8000[0]'
[ 1.712501] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@481d8000[0]'
[ 1.712525] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
[ 1.712545] omap_hsmmc 481d8000.mmc: No GPIO consumer wp found
[ 1.713636] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.1
[ 1.745463] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.754388] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-sys/leds-sys0[0]' - status (0)
[ 1.754538] gpio gpiochip2: Persistence not supported for GPIO 4
[ 1.754553] no flags found for gpios
[ 1.754934] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-sys/leds-sys1[0]' - status (0)
[ 1.754974] gpio gpiochip2: Persistence not supported for GPIO 2
[ 1.754987] no flags found for gpios
[ 1.755892] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user0[0]' - status (0)
[ 1.755999] gpio gpiochip3: Persistence not supported for GPIO 21
[ 1.756013] no flags found for gpios
[ 1.756363] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user1[0]' - status (0)
[ 1.756402] gpio gpiochip2: Persistence not supported for GPIO 1
[ 1.756414] no flags found for gpios
[ 1.756706] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user2[0]' - status (0)
[ 1.756744] gpio gpiochip3: Persistence not supported for GPIO 18
[ 1.756896] no flags found for gpios
[ 1.757326] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user3[0]' - status (0)
[ 1.757369] gpio gpiochip0: Persistence not supported for GPIO 7
[ 1.757381] no flags found for gpios
[ 1.757826] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user4[0]' - status (0)
[ 1.757867] gpio gpiochip1: Persistence not supported for GPIO 22
[ 1.757879] no flags found for gpios
[ 1.758297] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user5[0]' - status (0)
[ 1.758337] gpio gpiochip1: Persistence not supported for GPIO 18
[ 1.758350] no flags found for gpios
[ 1.758773] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user6[0]' - status (0)
[ 1.758813] gpio gpiochip1: Persistence not supported for GPIO 24
[ 1.758950] no flags found for gpios
[ 1.759380] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user7[0]' - status (0)
[ 1.759419] gpio gpiochip0: Persistence not supported for GPIO 22
[ 1.759432] no flags found for gpios
[ 1.759854] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user8[0]' - status (0)
[ 1.759892] gpio gpiochip0: Persistence not supported for GPIO 26
[ 1.759905] no flags found for gpios
[ 1.760351] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-user/led-user9[0]' - status (0)
[ 1.760390] gpio gpiochip1: Persistence not supported for GPIO 12
[ 1.760403] no flags found for gpios
[ 1.761362] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out0[0]' - status (0)
[ 1.761406] gpio gpiochip1: Persistence not supported for GPIO 17
[ 1.761418] no flags found for gpios
[ 1.761888] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out1[0]' - status (0)
[ 1.761931] gpio gpiochip1: Persistence not supported for GPIO 19
[ 1.761944] no flags found for gpios
[ 1.762368] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out2[0]' - status (0)
[ 1.762408] gpio gpiochip1: Persistence not supported for GPIO 23
[ 1.762421] no flags found for gpios
[ 1.762875] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out3[0]' - status (0)
[ 1.762915] gpio gpiochip2: Persistence not supported for GPIO 0
[ 1.762928] no flags found for gpios
[ 1.763229] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out4[0]' - status (0)
[ 1.763267] gpio gpiochip0: Persistence not supported for GPIO 30
[ 1.763280] no flags found for gpios
[ 1.765377] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.774271] sc1161y_probe() function is called.
[ 1.779088] of_get_named_gpiod_flags: parsed 'pwren-gpio' property of node '/ocp/spi@481a0000/encryption@0[0]' - status (0)
[ 1.779137] of_get_named_gpiod_flags: parsed 'ctrlcs-gpio' property of node '/ocp/spi@481a0000/encryption@0[0]' - status (0)
[ 1.779510] sc1161y encryption probe ok: got minor 63
[ 1.786654] NET: Registered protocol family 10
[ 1.804643] Segment Routing with IPv6
[ 1.808735] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.816604] NET: Registered protocol family 17
[ 1.821558] Key type dns_resolver registered
[ 1.826359] mmc1: new high speed MMC card at address 0001
[ 1.832374] Registering SWP/SWPB emulation handler
[ 1.837419] omap_voltage_late_init: Voltage driver support not added
[ 1.844147] random: fast init done
[ 1.849998] Loading compiled-in X.509 certificates
[ 1.859698] mmcblk1: mmc1:0001 IS004G 3.64 GiB
[ 1.872740] mmcblk1boot0: mmc1:0001 IS004G partition 1 2.00 MiB
[ 1.879750] mmcblk1boot1: mmc1:0001 IS004G partition 2 2.00 MiB
[ 1.894351] mmcblk1rpmb: mmc1:0001 IS004G partition 3 512 KiB, chardev (244:0)
[ 1.915311] mmcblk1: p1 p2 p3 p4
[ 1.933155] rtc rtc0: alarm rollover: day
[ 1.933867] rtc rtc0: rx8025: dev (252:0)
[ 1.933904] rtc-rx8025 0-0032: rtc core: registered rx8025 as rtc0
[ 1.940898] at24 0-0050: GPIO lookup for consumer wp
[ 1.940912] at24 0-0050: using device tree for GPIO lookup
[ 1.940948] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/i2c@44e0b000/baseboard_eeprom@50[0]'
[ 1.940973] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/i2c@44e0b000/baseboard_eeprom@50[0]'
[ 1.940988] at24 0-0050: using lookup tables for GPIO lookup
[ 1.941001] at24 0-0050: No GPIO consumer wp found
[ 1.941493] at24 0-0050: 4096 byte 24c32 EEPROM, writable, 1 bytes/write
[ 1.948791] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.956716] pca953x 1-0020: GPIO lookup for consumer reset
[ 1.956733] pca953x 1-0020: using device tree for GPIO lookup
[ 1.956766] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@4802a000/pca9555@20[0]'
[ 1.956788] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@4802a000/pca9555@20[0]'
[ 1.956803] pca953x 1-0020: using lookup tables for GPIO lookup
[ 1.956814] pca953x 1-0020: No GPIO consumer reset found
[ 1.956986] pca953x 1-0020: Linked as a consumer to regulator.3
[ 1.993332] gpiochip_find_base: found new base at 496
[ 1.993682] gpio gpiochip4: (pca9555): added GPIO chardev (254:4)
[ 1.993824] gpiochip_setup_dev: registered GPIOs 496 to 511 on device: gpiochip4 (pca9555)
[ 1.993918] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[ 2.000485] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out0[0]' - status (0)
[ 2.000524] gpio gpiochip1: Persistence not supported for GPIO 17
[ 2.000531] no flags found for gpios
[ 2.000749] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out1[0]' - status (0)
[ 2.000771] gpio gpiochip1: Persistence not supported for GPIO 19
[ 2.000778] no flags found for gpios
[ 2.000957] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out2[0]' - status (0)
[ 2.000977] gpio gpiochip1: Persistence not supported for GPIO 23
[ 2.000984] no flags found for gpios
[ 2.001141] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out3[0]' - status (0)
[ 2.001163] gpio gpiochip2: Persistence not supported for GPIO 0
[ 2.001169] no flags found for gpios
[ 2.001323] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out4[0]' - status (0)
[ 2.001343] gpio gpiochip0: Persistence not supported for GPIO 30
[ 2.001350] no flags found for gpios
[ 2.001509] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out5[0]' - status (0)
[ 2.002417] no flags found for gpios
[ 2.003631] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out6[0]' - status (0)
[ 2.004241] no flags found for gpios
[ 2.005382] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out7[0]' - status (0)
[ 2.005997] no flags found for gpios
[ 2.007151] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds-iio/led-out8[0]' - status (0)
[ 2.007746] no flags found for gpios
[ 2.009549] rtc-rx8025 0-0032: Starting synchronization hwclcok to system clock
[ 2.017374] rtc-rx8025 0-0032: Synchronization ...

[ 3.073300] rtc-rx8025 0-0032: Complete synchronization hwclcok to system clock(15)
[ 3.081416] rtc-rx8025 0-0032: setting system clock to 2019-08-23 13:53:58 UTC (1566568438)
[ 3.090354] rtc-rx8025 0-0032: Read system clock:tv_sec=(1566568438), tv_usec=208972
[ 3.116124] net eth0: initializing cpsw version 1.12 (0)
[ 3.222138] NatSemi DP83620/DP83630/83640 Without PTP 4a101000.mdio:01: attached PHY driver [NatSemi DP83620/DP83630/83640 Without PTP] (mii_bus:phy_addr=4a101000.mdio:01, irq=POLL)
[ 3.246801] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 6.322855] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 6.341842] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 6.371853] IP-Config: Complete:
[ 6.375268] device=eth0, hwaddr=0c:ae:7d:73:e0:9d, ipaddr=192.168.0.15, mask=255.255.255.0, gw=192.168.0.1
[ 6.386210] host=192.168.0.15, domain=, nis-domain=(none)
[ 6.392538] bootserver=192.168.0.2, rootserver=192.168.0.2, rootpath=
[ 6.429695] VFS: Mounted root (nfs filesystem) on device 0:14.
[ 6.437522] devtmpfs: mounted
[ 6.443808] Freeing unused kernel memory: 1024K
[ 6.449180] Run /sbin/init as init process
[ 7.933382] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[ 7.965395] systemd[1]: Detected architecture arm.
[ 8.045266] systemd[1]: Set hostname to <>.
[ 8.068268] systemd[1]: Hardware watchdog 'OMAP Watchdog', version 0
[ 8.076899] systemd[1]: Set hardware watchdog to 20s.
[ 9.998739] random: systemd: uninitialized urandom read (16 bytes read)
[ 10.007115] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 10.043231] random: systemd: uninitialized urandom read (16 bytes read)
[ 10.062361] systemd[1]: Created slice System Slice.
[ 10.092491] random: systemd: uninitialized urandom read (16 bytes read)
[ 10.105719] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 10.145663] systemd[1]: Listening on Syslog Socket.
[ 10.184320] systemd[1]: Listening on Journal Socket.
[ 10.482495] random: crng init done
[ 10.487517] random: 7 urandom warning(s) missed due to ratelimiting
[ 12.519279] systemd-journald[81]: Received request to flush runtime journal from PID 1
[ 20.108488] CAN device driver interface
[ 20.743188] c_can_platform 481cc000.can: c_can_platform device registered (regs=baa7f7cc, irq=41)
[ 22.583761] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 23.055889] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
[ 23.248791] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 23.439278] omap-aes 53500000.aes: will run requests pump with realtime priority
[ 29.869212] net eth1: initializing cpsw version 1.12 (0)
[ 29.983004] NatSemi DP83620/DP83630/83640 Without PTP 4a101000.mdio:03: attached PHY driver [NatSemi DP83620/DP83630/83640 Without PTP] (mii_bus:phy_addr=4a101000.mdio:03, irq=POLL)
[ 29.986035] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 37.075945] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
[ 37.075969] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[ 37.076014] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[ 37.076040] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[ 37.076057] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[ 37.076070] am335x-phy-driver 47401300.usb-phy: No GPIO consumer reset found
[ 37.076083] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
[ 37.076092] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
[ 37.076115] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[ 37.076137] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
[ 37.076149] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
[ 37.076159] am335x-phy-driver 47401300.usb-phy: No GPIO consumer vbus-detect found
[ 37.076516] am335x-phy-driver 47401300.usb-phy: Linked as a consumer to regulator.2
[ 37.217044] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
[ 37.217069] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[ 37.217123] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[ 37.217148] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[ 37.217167] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[ 37.217180] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer reset found
[ 37.217194] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
[ 37.217203] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
[ 37.217226] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[ 37.217247] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
[ 37.217260] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
[ 37.217270] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer vbus-detect found
[ 37.217623] am335x-phy-driver 47401b00.usb-phy: Linked as a consumer to regulator.2
[ 38.529858] usbcore: registered new interface driver usbfs
[ 38.529977] usbcore: registered new interface driver hub
[ 38.552789] usbcore: registered new device driver usb
[ 39.184765] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[ 39.184861] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[ 39.245144] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[ 39.245170] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 39.245181] usb usb1: Product: MUSB HDRC host driver
[ 39.245192] usb usb1: Manufacturer: Linux 4.19.38 musb-hcd
[ 39.245202] usb usb1: SerialNumber: musb-hdrc.0
[ 39.253378] hub 1-0:1.0: USB hub found
[ 39.253539] hub 1-0:1.0: 1 port detected
[ 39.303383] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[ 39.303475] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[ 39.311155] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[ 39.311178] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 39.311189] usb usb2: Product: MUSB HDRC host driver
[ 39.311200] usb usb2: Manufacturer: Linux 4.19.38 musb-hcd
[ 39.311210] usb usb2: SerialNumber: musb-hdrc.1
[ 39.334449] hub 2-0:1.0: USB hub found
[ 39.359201] hub 2-0:1.0: 1 port detected
[ 39.822074] usb 2-1: new high-speed USB device number 2 using musb-hdrc
[ 40.002604] usb 2-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
[ 40.002628] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[ 40.002640] usb 2-1: SerialNumber: DB0000712C4B
[ 40.005172] hub 2-1:1.0: USB hub found
[ 40.005603] hub 2-1:1.0: 4 ports detected
[ 59.516099] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 59.645613] Bridge firewalling registered
[ 63.412216] Initializing XFRM netlink socket
[ 65.297560] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
[ 142.701749] usb 2-1.4: new high-speed USB device number 3 using musb-hdrc
[ 142.844960] usb 2-1.4: New USB device found, idVendor=3763, idProduct=3c93, bcdDevice= 3.18
[ 142.845000] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 142.845022] usb 2-1.4: Product: Android
[ 142.845042] usb 2-1.4: Manufacturer: Android
[ 142.845063] usb 2-1.4: SerialNumber: 20ae3d01
[ 143.606949] usbcore: registered new interface driver option
[ 143.627659] usbserial: USB Serial support registered for GSM modem (1-port)
[ 143.628734] option 2-1.4:1.0: GSM modem (1-port) converter detected
[ 143.659818] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[ 143.685703] option 2-1.4:1.1: GSM modem (1-port) converter detected
[ 143.716096] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[ 143.754958] option 2-1.4:1.2: GSM modem (1-port) converter detected
[ 143.775886] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 143.823364] cdc_ether 2-1.4:1.3 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.4, CDC Ethernet Device, 7a:22:a9:af:4f:ad
[ 143.827125] option 2-1.4:1.5: GSM modem (1-port) converter detected
[ 143.827899] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[ 143.867902] usbcore: registered new interface driver cdc_ether
[ 149.993438] cdc_ether 2-1.4:1.3 lte0: renamed from usb0

Linux Kernel enumerate four ttyUSB and one CDC Ethernet Device, both devices working fine. lsusb info as follow:
root@test# lsusb
Bus 002 Device 005: ID 3763:3c93
Bus 002 Device 004: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@test# lsusb -t
/: Bus 02.Port 1: Dev 1, class="root_hub", Driver=musb-hdrc/1p, 480M
|__ Port 1: Dev 4, If 0, class="Hub", Driver=hub/4p, 480M
|__ Port 4: Dev 5, If 0, class="Vendor" Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 1, class="Vendor" Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 2, class="Vendor" Specific Class, Driver=option, 480M
|__ Port 4: Dev 5, If 3, class="Communications", Driver=cdc_ether, 480M
|__ Port 4: Dev 5, If 4, class="CDC" Data, Driver=cdc_ether, 480M
|__ Port 4: Dev 5, If 5, class="Vendor" Specific Class, Driver=option, 480M
/: Bus 01.Port 1: Dev 1, class="root_hub", Driver=musb-hdrc/1p, 480M

When I do this operation : power off (or unplug)LTE module when usb devices using, the kernel enter stop status. ttyO0 Console and networing stop , have no response , kernel heartbeat led stop flashing. Also dmesg don't print any more info about this errors.

But, in this status, I unplug TUSB4041 form AM3352 USB1, the kernel return to normal working immediately,heartbeat led start flashing. ttyO0 Console and networing return to work fine.dmesg also print usb disconnect info now.
[ 260.966850] usb 2-1: USB disconnect, device number 2
[ 260.966898] usb 2-1.4: USB disconnect, device number 3
[ 260.980230] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 260.980577] option 2-1.4:1.0: device disconnected
[ 260.988297] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 260.988598] option 2-1.4:1.1: device disconnected
[ 261.003237] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 261.003471] option 2-1.4:1.2: device disconnected
[ 261.004611] cdc_ether 2-1.4:1.3 lte0: unregister 'cdc_ether' usb-musb-hdrc.1-1.4, CDC Ethernet Device
[ 261.034563] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[ 261.034718] option 2-1.4:1.5: device disconnected

On this issue, I did two additional tests:
1)AM3352 + TUSB4041 + LTE module , Before power off the module , i do two steps:
1.dhcpcd -k usb0
2.close all opened ttyUSB device
After this operations, I power off the module, the kernel don't enter stop , eveything working fine, dmesg print usb disconnect info immediately:
[ 3298.326609] usb 2-1.4: USB disconnect, device number 5
[ 3298.332465] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[ 3298.332700] option 2-1.4:1.0: device disconnected
[ 3298.337618] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[ 3298.337788] option 2-1.4:1.1: device disconnected
[ 3298.343423] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[ 3298.343604] option 2-1.4:1.2: device disconnected
[ 3298.344022] cdc_ether 2-1.4:1.3 lte0: unregister 'cdc_ether' usb-musb-hdrc.1-1.4, CDC Ethernet Device
[ 3298.384089] option1 ttyUSB5: GSM modem (1-port) converter now disconnected from ttyUSB5
[ 3298.384243] option 2-1.4:1.5: device disconnected
and usb hub still working fine:
root@test# lsusb
Bus 002 Device 004: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@test# lsusb -t
/: Bus 02.Port 1: Dev 1, class="root_hub", Driver=musb-hdrc/1p, 480M
|__ Port 1: Dev 4, If 0, class="Hub", Driver=hub/4p, 480M
/: Bus 01.Port 1: Dev 1, class="root_hub", Driver=musb-hdrc/1p, 480M

2)AM3352 + LTE module , I connect LTE module direct to AM3352 USB1 with no usb hub,at this time, When USB devices working,I power off (or unplug)LTE module , kernel still working fine, don't enter stop , eveything working fine, dmesg print usb disconnect info immediately.

PS.I did all tests on PROCESSOR-SDK-LINUX-AM335X 06_00_00_07 , 05.03.00.07, 04.03.00.05, the same problem happened.

So, after doing these tests, My question is this a kernel driver bug, how can i fix it?

  • Hi,

    Thanks for the detail report. Can you please try the following kernel patch and let me know if it solves the issue?

    diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
    index 968d33fcb74e..8617a18b4c50 100644
    --- a/drivers/usb/musb/musb_host.c
    +++ b/drivers/usb/musb/musb_host.c
    @@ -1844,9 +1844,9 @@ void musb_host_rx(struct musb *musb, u8 epnum)
                    status = -EPIPE;
     
            } else if (rx_csr & MUSB_RXCSR_H_ERROR) {
    -               musb_dbg(musb, "end %d RX proto error", epnum);
    +               dev_err(musb->controller, "end %d RX proto error", epnum);
     
    -               status = -EPROTO;
    +               status = -ESHUTDOWN;
                    musb_writeb(epio, MUSB_RXINTERVAL, 0);
     
                    rx_csr &= ~MUSB_RXCSR_H_ERROR;
    
  • Hi,Bin Liu

    I apply your patch,  kernel still enter error state, dmesg as follow:

    [ 28.611481] usbcore: registered new interface driver usbfs
    [ 28.651078] usbcore: registered new interface driver hub
    [ 28.651402] usbcore: registered new device driver usb
    [ 29.286778] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [ 29.286877] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [ 29.301043] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [ 29.301068] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 29.301079] usb usb1: Product: MUSB HDRC host driver
    [ 29.301090] usb usb1: Manufacturer: Linux 4.19.38 musb-hcd
    [ 29.301100] usb usb1: SerialNumber: musb-hdrc.0
    [ 29.341377] hub 1-0:1.0: USB hub found
    [ 29.347822] hub 1-0:1.0: 1 port detected
    [ 29.446272] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [ 29.446363] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [ 29.465472] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [ 29.465497] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 29.465508] usb usb2: Product: MUSB HDRC host driver
    [ 29.465519] usb usb2: Manufacturer: Linux 4.19.38 musb-hcd
    [ 29.465529] usb usb2: SerialNumber: musb-hdrc.1
    [ 29.493645] hub 2-0:1.0: USB hub found
    [ 29.499109] hub 2-0:1.0: 1 port detected
    [ 29.941900] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [ 30.122619] usb 2-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
    [ 30.122645] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [ 30.122657] usb 2-1: SerialNumber: DB0000712C4B
    [ 30.123891] hub 2-1:1.0: USB hub found
    [ 30.124067] hub 2-1:1.0: 4 ports detected
    [ 34.144565] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
    [ 36.312959] net eth1: initializing cpsw version 1.12 (0)
    [ 36.422496] NatSemi DP83620/DP83630/83640 Without PTP 4a101000.mdio:03: attached PHY driver [NatSemi DP83620/DP83630/83640 Without PTP] (mii_bus:phy_addr=4a101000.mdio:03, irq=POLL)
    [ 36.425500] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [ 57.334091] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [ 57.475127] Bridge firewalling registered
    [ 62.771940] Initializing XFRM netlink socket
    [ 64.837737] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
    [ 164.311804] usb 2-1.4: new high-speed USB device number 3 using musb-hdrc
    [ 164.455222] usb 2-1.4: New USB device found, idVendor=3763, idProduct=3c93, bcdDevice= 3.18
    [ 164.455249] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 164.455260] usb 2-1.4: Product: Android
    [ 164.455271] usb 2-1.4: Manufacturer: Android
    [ 164.455281] usb 2-1.4: SerialNumber: 20ae3d01
    [ 165.266424] usbcore: registered new interface driver option
    [ 165.267435] usbserial: USB Serial support registered for GSM modem (1-port)
    [ 165.268410] option 2-1.4:1.0: GSM modem (1-port) converter detected
    [ 165.290479] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0
    [ 165.297311] option 2-1.4:1.1: GSM modem (1-port) converter detected
    [ 165.299721] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1
    [ 165.309669] option 2-1.4:1.2: GSM modem (1-port) converter detected
    [ 165.316425] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB2
    [ 165.328396] cdc_ether 2-1.4:1.3 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.4, CDC Ethernet Device, fa:f3:de:15:94:f2
    [ 165.329519] option 2-1.4:1.5: GSM modem (1-port) converter detected
    [ 165.330262] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
    [ 165.330495] usbcore: registered new interface driver cdc_ether
    [ 171.797105] cdc_ether 2-1.4:1.3 lte0: renamed from usb0
    [ 248.992649] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 248.998621] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.004706] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.010579] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.016450] musb-hdrc musb-hdrc.1: end 11 RX proto error
    [ 249.022388] musb-hdrc musb-hdrc.1: end 12 RX proto error
    [ 249.028499] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.034370] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.040331] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.046195] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.052141] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.058003] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.063939] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.069799] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.075733] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.081593] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.087527] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.093390] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.099325] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.105186] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.111120] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.116982] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.122917] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.128777] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.134711] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 249.140572] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 249.146507] musb-hdrc musb-hdrc.1: end 2 RX proto error
    ........
    [ 269.797886] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.803822] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.809710] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.962384] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.968274] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.974211] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.980100] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.986037] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 269.991943] rcu: INFO: rcu_preempt self-detected stall on CPU
    [ 269.998041] rcu: 0-...!: (1803 ticks this GP) idle=896/0/0x3 softirq=33142/33142 fqs=0
    [ 270.006564] rcu: (t=2100 jiffies g=48477 q=1)
    [ 270.011373] rcu: rcu_preempt kthread starved for 2100 jiffies! g48477 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
    [ 270.022178] rcu: RCU grace-period kthread stack dump:
    [ 270.077242] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.083225] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.089123] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.095062] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.100954] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.106892] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.112832] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.118720] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 270.124653] musb-hdrc musb-hdrc.1: end 3 RX proto error
    ......
    [ 332.986833] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 332.992788] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 332.998697] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.004650] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.010543] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.016493] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.022447] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.028339] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.034297] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.040199] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.046101] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
    [ 333.052544] rcu: (detected by 0, t=8405 jiffies, g=48477, q=2)
    [ 333.058816] rcu: All QSes seen, last rcu_preempt kthread activity 8405 (3304--5101), jiffies_till_next_fqs=1, root ->qsmask 0x0
    [ 333.073240] rcu: rcu_preempt kthread starved for 8405 jiffies! g48477 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
    [ 333.084048] rcu: RCU grace-period kthread stack dump:
    [ 333.089965] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.095958] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.101920] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.107858] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 333.113710] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.119661] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.125619] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.131512] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.137461] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.143417] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.149362] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.155327] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 333.161220] musb-hdrc musb-hdrc.1: end 3 RX proto error

    kernel endless loop print error message.

    I also fond a path clearing hub TT buffer , from https://e2e.ti.com/support/processors/f/791/p/796318/2945831, 

    But it not work for me , still print same error message as above

  • Hi,Bin

       The patch didn’t work. Do you have any other advice ,please? thanks a lot!

  • Hi,

    The kernel log seems indicating this hits on an known driver bug, but seems the fix is not in the right place. I am reviewing the kernel code and will provide you a debug patch in a few days.

    By the way, the patch you found for the hub TT buffer is not relevant. That patch for is single TT hubs, but I believe TUSB4041 is not a single TT hub.

  • Thanks again.Waiting for your good news^_^

  • Hi,

    The good news is that I am now able to reproduce the issue on my EVM with a USB modem. But the initial debug indicates this is a new issue I haven't seen before. Please give me more time to debug the issue and provide a fix. I will keep you posted.

  • Hi Bin,

       Is there any progress with that issue please?

  • Hi,

    I am still working on it, but have not found the root cause yet.

  • Hi,

    Found a driver bug in the kernel wwan driver.

    Please keep the patch in my first post applied, and apply the following patch too. Please let me know if both patches together fix the issue for you.

    diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
    index 59bfcb3da116..9e625ead3c40 100644
    --- a/drivers/usb/serial/usb_wwan.c
    +++ b/drivers/usb/serial/usb_wwan.c
    @@ -302,6 +302,11 @@ static void usb_wwan_indat_callback(struct urb *urb)
            if (status) {
                    dev_dbg(dev, "%s: nonzero status: %d on endpoint %02x.\n",
                            __func__, status, endpoint);
    +
    +               /* don't resubmit on fatal errors */
    +               if (status == -ESHUTDOWN || status == -ENOENT ||
    +                   status == -EPIPE)
    +                       return;
            } else {
                    if (urb->actual_length) {
                            tty_insert_flip_string(&port->port, data,
    
  • Hi,Bin
    this patch still will not work for me , kernel endless loop print error message.

    [ 224.608796] usb 2-1.4: new high-speed USB device number 6 using musb-hdrc
    [ 224.751986] usb 2-1.4: New USB device found, idVendor=3763, idProduct=3c93, bcdDevice= 3.18
    [ 224.761076] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 224.773549] usb 2-1.4: Product: Android
    [ 224.777634] usb 2-1.4: Manufacturer: Android
    [ 224.786461] usb 2-1.4: SerialNumber: 0123456789ABCDEF
    [ 225.273085] usbcore: registered new interface driver option
    [ 225.366151] usbserial: USB Serial support registered for GSM modem (1-port)
    [ 225.391417] option 2-1.4:1.0: GSM modem (1-port) converter detected
    [ 225.440051] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
    [ 225.503524] option 2-1.4:1.1: GSM modem (1-port) converter detected
    [ 225.557391] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB4
    [ 225.589214] cdc_ether 2-1.4:1.3: status ep8in, 16 bytes period 9
    [ 225.596895] cdc_ether 2-1.4:1.3 usb0: register 'cdc_ether' at usb-musb-hdrc.1-1.4, CDC Ethernet Device, 02:2a:17:05:de:c6
    [ 225.628552] option 2-1.4:1.2: GSM modem (1-port) converter detected
    [ 225.642932] usbcore: registered new interface driver cdc_ether
    [ 225.653550] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB5
    [ 225.667431] option 2-1.4:1.5: GSM modem (1-port) converter detected
    [ 225.681349] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB6
    [ 240.205286] cdc_ether 2-1.4:1.3 lte0: renamed from usb0
    [ 241.082183] usb 2-1.4: incremented interrupt URB count to 1
    [ 241.088317] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 10
    [ 241.098998] cdc_ether 2-1.4:1.3 lte0: rxqlen 10 --> 20
    [ 241.104624] cdc_ether 2-1.4:1.3 lte0: kevent 12 scheduled
    [ 241.110479] cdc_ether 2-1.4:1.3 lte0: rxqlen 20 --> 30
    [ 241.115954] cdc_ether 2-1.4:1.3 lte0: kevent 11 may have been dropped
    [ 241.146307] cdc_ether 2-1.4:1.3 lte0: kevent 11 scheduled
    [ 241.152341] cdc_ether 2-1.4:1.3 lte0: kevent done, flags = 0x880
    [ 241.159093] cdc_ether 2-1.4:1.3 lte0: kevent 12 may have been dropped
    [ 241.168493] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 10
    [ 241.174154] cdc_ether 2-1.4:1.3 lte0: rxqlen 10 --> 20
    [ 241.181503] cdc_ether 2-1.4:1.3 lte0: rxqlen 20 --> 30
    [ 241.188971] cdc_ether 2-1.4:1.3 lte0: rxqlen 30 --> 40
    [ 241.194545] cdc_ether 2-1.4:1.3 lte0: kevent done, flags = 0x80
    [ 241.200910] cdc_ether 2-1.4:1.3 lte0: rxqlen 40 --> 50
    [ 241.208146] cdc_ether 2-1.4:1.3 lte0: rxqlen 50 --> 60
    [ 241.218909] cdc_ether 2-1.4:1.3 lte0: kevent 12 scheduled
    [ 241.249336] cdc_ether 2-1.4:1.3 lte0: kevent done, flags = 0x80
    [ 312.539293] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 312.545263] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 312.551343] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 312.557205] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 312.563208] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 312.569063] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 312.574987] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 312.580838] musb-hdrc musb-hdrc.1: end 3 RX proto error
    [ 312.586673] musb-hdrc musb-hdrc.1: end 11 RX proto error
    [ 312.592595] musb-hdrc musb-hdrc.1: end 12 RX proto error
    [ 312.598673] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 312.604606] musb-hdrc musb-hdrc.1: end 2 RX proto error
    .......
    [ 313.029562] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.035357] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.041165] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.046975] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.052812] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 1
    [ 313.058899] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.064749] musb-hdrc musb-hdrc.1: end 2 RX proto error
    .......
    [ 313.164439] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.170291] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.176108] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 4
    [ 313.176121] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.187422] musb-hdrc musb-hdrc.1: end 2 RX proto error
    ......
    [ 313.234216] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.240058] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.245867] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 3
    [ 313.252299] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 313.258140] musb-hdrc musb-hdrc.1: end 2 RX proto error
    ......
    [ 348.731803] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.737642] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.743485] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.749343] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 1
    [ 348.749358] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.760520] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.766354] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.772208] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.778050] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.783893] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.789759] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.795587] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.801431] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.807272] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.813115] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.819105] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.824936] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.830834] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.836664] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.842509] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.848353] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.854198] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.860042] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.865902] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.871748] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.877666] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.883519] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.889385] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.895213] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.901067] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.906910] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.912753] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.918593] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 348.924419] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
    [ 348.930829] rcu: Tasks blocked on level-0 rcu_node (CPUs 0-0): P596 P555
    [ 348.937974] rcu: (detected by 0, t=2102 jiffies, g=44977, q=22)
    [ 348.944298] sshd R running task 0 596 276 0x00000000
    [ 348.951716] Backtrace:
    [ 348.954327] [<c0758750>] (__schedule) from [<c0759558>] (preempt_schedule_irq+0x58/0x84)
    [ 348.962835] r10:ce68e1c0 r9:ca48c000 r8:c0101a10 r7:ca48dafc r6:ffffffff r5:60010013
    [ 348.971058] r4:ffffe000
    [ 348.973732] [<c0759500>] (preempt_schedule_irq) from [<c0101a34>] (svc_preempt+0x8/0x18)
    [ 348.982231] Exception stack(0xca48dac8 to 0xca48db10)
    [ 348.987544] dac0: ce62c000 ce62c000 00000000 00000000 000001ff ffffe000
    [ 348.996138] dae0: c0b2b200 cf20b800 01e60658 00000000 ce68e1c0 ca48db24 ca48db28 ca48db18
    [ 349.004729] db00: c07593c4 c075937c 60010013 ffffffff
    [ 349.010035] r5:60010013 r4:c075937c
    [ 349.013802] [<c075939c>] (preempt_schedule) from [<c012e3f8>] (__local_bh_enable_ip+0x80/0xf4)
    [ 349.022868] [<c012e378>] (__local_bh_enable_ip) from [<c065b084>] (ip_output+0xbc/0x178)
    [ 349.031367] r5:c0b03c48 r4:ca118238
    [ 349.035131] [<c065afc8>] (ip_output) from [<c065a6ec>] (ip_local_out+0x40/0x44)
    [ 349.042816] r10:ca5c0080 r9:00000000 r8:000010e9 r7:00000845 r6:ce68e1c0 r5:c0b2b200
    [ 349.051038] r4:ca118238
    [ 349.053707] [<c065a6ac>] (ip_local_out) from [<c065aa04>] (__ip_queue_xmit+0x170/0x410)
    [ 349.062117] r7:00000845 r6:ce68e450 r5:ce68e1c0 r4:ca118238
    [ 349.068083] [<c065a894>] (__ip_queue_xmit) from [<c067ae44>] (ip_queue_xmit+0x14/0x18)
    [ 349.076406] r10:00000028 r9:00000000 r8:000010e9 r7:ca118180 r6:ca118238 r5:ce68e1c0
    [ 349.084628] r4:00000000
    [ 349.087299] [<c067ae30>] (ip_queue_xmit) from [<c0675b28>] (__tcp_transmit_skb+0x590/0xb38)
    [ 349.096080] [<c0675598>] (__tcp_transmit_skb) from [<c0676364>] (tcp_write_xmit+0x294/0x1094)
    [ 349.105041] r10:00000000 r9:000005b4 r8:ce68e1c0 r7:00000028 r6:00000000 r5:000005b4
    [ 349.113264] r4:ca118180
    [ 349.115934] [<c06760d0>] (tcp_write_xmit) from [<c06771a0>] (__tcp_push_pending_frames+0x3c/0xa4)
    [ 349.125260] r10:c2a24e77 r9:ca48de4c r8:00000040 r7:ce68e2bc r6:00000000 r5:ca118180
    [ 349.133483] r4:ce68e1c0
    [ 349.136152] [<c0677164>] (__tcp_push_pending_frames) from [<c0663358>] (tcp_push+0xb8/0x124)
    [ 349.145014] r4:ce68e1c0
    [ 349.147681] [<c06632a0>] (tcp_push) from [<c0667d00>] (tcp_sendmsg_locked+0x914/0xcfc)
    [ 349.156001] r7:ce68e2bc r6:00000028 r5:ca118180 r4:ce68e1c0
    [ 349.161952] [<c06673ec>] (tcp_sendmsg_locked) from [<c0668118>] (tcp_sendmsg+0x30/0x44)
    [ 349.170366] r10:cefb4380 r9:00000000 r8:00000000 r7:ca482300 r6:00000028 r5:ca48de44
    [ 349.178589] r4:ce68e1c0
    [ 349.181259] [<c06680e8>] (tcp_sendmsg) from [<c06957d8>] (inet_sendmsg+0x34/0x110)
    [ 349.189213] r7:ca482300 r6:ca48ded0 r5:c0b03c48 r4:ce68e1c0
    [ 349.195169] [<c06957a4>] (inet_sendmsg) from [<c05e3e38>] (sock_sendmsg+0x1c/0x2c)
    [ 349.203121] r5:c0b03c48 r4:ca48deb8
    [ 349.206882] [<c05e3e1c>] (sock_sendmsg) from [<c05e3ee0>] (sock_write_iter+0x98/0xdc)
    [ 349.215125] [<c05e3e48>] (sock_write_iter) from [<c02621e4>] (__vfs_write+0x104/0x168)
    [ 349.223447] r10:00000028 r9:00000000 r8:00000000 r7:ca48df58 r6:ca482300 r5:00000000
    [ 349.231670] r4:c0b03c48
    [ 349.234339] [<c02620e0>] (__vfs_write) from [<c02623e0>] (vfs_write+0xac/0x184)
    [ 349.242023] r10:00000028 r9:00000000 r8:00000000 r7:ca48df58 r6:005babe0 r5:ca482300
    [ 349.250246] r4:00000028
    [ 349.252916] [<c0262334>] (vfs_write) from [<c0262660>] (ksys_write+0x64/0xe4)
    [ 349.260417] r8:00000000 r7:005babe0 r6:ca482300 r5:c0b03c48 r4:ca482300
    [ 349.267464] [<c02625fc>] (ksys_write) from [<c02626f0>] (sys_write+0x10/0x14)
    [ 349.274966] r10:00000004 r9:ca48c000 r8:c0101204 r7:00000004 r6:00000003 r5:00000028
    [ 349.283189] r4:0000006c
    [ 349.285856] [<c02626e0>] (sys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x4c)
    [ 349.293808] Exception stack(0xca48dfa8 to 0xca48dff0)
    [ 349.299118] dfa0: 0000006c 00000028 00000003 005babe0 00000028 00000000
    [ 349.307713] dfc0: 0000006c 00000028 00000003 00000004 0059e0dc 00000003 0059aad0 00000000
    [ 349.316303] dfe0: 00000004 beabd2e8 b6b5dc0b b6ae8206
    [ 349.321609] sshd R running task 0 555 276 0x00000000
    [ 349.329024] Backtrace:
    [ 349.331609] [<c0758750>] (__schedule) from [<c0759358>] (preempt_schedule_common+0x30/0x54)
    [ 349.340388] r10:ce68cd80 r9:00000000 r8:01e6068c r7:cf20b800 r6:c0b2b200 r5:ffffe000
    [ 349.348611] r4:ffffe000
    [ 349.351281] [<c0759328>] (preempt_schedule_common) from [<c0759398>] (preempt_schedule.part.5+0x1c/0x20)
    [ 349.361238] r5:ffffe000 r4:000001ff
    [ 349.365001] [<c075937c>] (preempt_schedule.part.5) from [<c07593c4>] (preempt_schedule+0x28/0x2c)
    [ 349.374327] [<c075939c>] (preempt_schedule) from [<c012e3f8>] (__local_bh_enable_ip+0x80/0xf4)
    [ 349.383381] [<c012e378>] (__local_bh_enable_ip) from [<c065b084>] (ip_output+0xbc/0x178)
    [ 349.391879] r5:c0b03c48 r4:ce7d8d80
    [ 349.395643] [<c065afc8>] (ip_output) from [<c065a6ec>] (ip_local_out+0x40/0x44)
    [ 349.403327] r10:ca5c0080 r9:83126e97 r8:8d4fdf3b r7:00001045 r6:ce68cd80 r5:c0b2b200
    [ 349.411549] r4:ce7d8d80
    [ 349.414219] [<c065a6ac>] (ip_local_out) from [<c065aa04>] (__ip_queue_xmit+0x170/0x410)
    [ 349.422629] r7:00001045 r6:ce68d010 r5:ce68cd80 r4:ce7d8d80
    [ 349.428583] [<c065a894>] (__ip_queue_xmit) from [<c067ae44>] (ip_queue_xmit+0x14/0x18)
    [ 349.436905] r10:00000020 r9:83126e97 r8:8d4fdf3b r7:00000000 r6:ce7d8d80 r5:ce68cd80
    [ 349.445127] r4:00000000
    [ 349.447797] [<c067ae30>] (ip_queue_xmit) from [<c0675b28>] (__tcp_transmit_skb+0x590/0xb38)
    [ 349.456578] [<c0675598>] (__tcp_transmit_skb) from [<c0677c34>] (__tcp_send_ack.part.6+0xb8/0x124)
    [ 349.465993] r10:ce68d220 r9:83126e97 r8:8d4fdf3b r7:ca27c668 r6:00000001 r5:7b9d806d
    [ 349.474216] r4:ce68cd80
    [ 349.476886] [<c0677b7c>] (__tcp_send_ack.part.6) from [<c06795b4>] (tcp_send_ack+0x20/0x24)
    [ 349.485660] r6:c0b03c48 r5:ce7d8d80 r4:ce68cd80
    [ 349.490518] [<c0679594>] (tcp_send_ack) from [<c0669ed4>] (__tcp_ack_snd_check+0x4c/0x1dc)
    [ 349.499207] [<c0669e88>] (__tcp_ack_snd_check) from [<c0672310>] (tcp_rcv_established+0x304/0x6b8)
    [ 349.508621] r9:83126e97 r8:8d4fdf3b r6:c0b03c48 r5:ce7d8d80 r4:ce68cd80
    [ 349.515670] [<c067200c>] (tcp_rcv_established) from [<c067c160>] (tcp_v4_do_rcv+0x17c/0x1b0)
    [ 349.524539] r10:ce68cd80 r9:c098dbd8 r8:ce68cdf0 r7:c0b338a2 r6:ca5c0580 r5:ce7d8d80
    [ 349.532761] r4:ce68cd80
    [ 349.535431] [<c067bfe4>] (tcp_v4_do_rcv) from [<c05e9768>] (__release_sock+0x84/0xe0)
    [ 349.543660] r7:c0b338a2 r6:00000000 r5:ce7d8cc0 r4:ce7d8d80
    [ 349.549609] [<c05e96e4>] (__release_sock) from [<c05e97f4>] (release_sock+0x30/0x88)
    [ 349.557749] r10:ce68d174 r9:00000030 r8:ce68cd80 r7:00000000 r6:ce68ce1c r5:ce68cdf0
    [ 349.565972] r4:ce68cd80 r3:ce7d8cc0
    [ 349.569734] [<c05e97c4>] (release_sock) from [<c0664954>] (tcp_recvmsg+0x328/0xac8)
    [ 349.577777] r5:00000000 r4:ce68ce1c
    [ 349.581539] [<c066462c>] (tcp_recvmsg) from [<c0695558>] (inet_recvmsg+0x5c/0x124)
    [ 349.589497] r10:00004000 r9:00000000 r8:ce663180 r7:cee9b380 r6:c066462c r5:ca52fe4c
    [ 349.597720] r4:c0b03c48
    [ 349.600389] [<c06954fc>] (inet_recvmsg) from [<c05e2600>] (sock_read_iter+0xa0/0xec)
    [ 349.608527] r7:cee9b380 r6:c06954fc r5:c0b03c48 r4:ca52feb8
    [ 349.614478] [<c05e2560>] (sock_read_iter) from [<c0261f20>] (__vfs_read+0x104/0x164)
    [ 349.622617] r8:00000000 r7:ca52ff58 r6:ce663180 r5:00000000 r4:c0b03c48
    [ 349.629663] [<c0261e1c>] (__vfs_read) from [<c0262010>] (vfs_read+0x90/0x114)
    [ 349.637164] r10:00004000 r9:00000000 r8:00000000 r7:ca52ff58 r6:becd6304 r5:ce663180
    [ 349.645388] r4:00004000
    [ 349.648056] [<c0261f80>] (vfs_read) from [<c0262568>] (ksys_read+0x64/0xe4)
    [ 349.655376] r9:00000000 r8:00000000 r7:becd6304 r6:ce663180 r5:c0b03c48 r4:ce663180
    [ 349.663518] [<c0262504>] (ksys_read) from [<c02625f8>] (sys_read+0x10/0x14)
    [ 349.670837] r10:00000003 r9:ca52e000 r8:c0101204 r7:00000003 r6:004b6a10 r5:00000003
    [ 349.679060] r4:0000006c
    [ 349.681728] [<c02625e8>] (sys_read) from [<c0101000>] (ret_fast_syscall+0x0/0x4c)
    [ 349.689586] Exception stack(0xca52ffa8 to 0xca52fff0)
    [ 349.694897] ffa0: 0000006c 00000003 00000003 becd6304 00004000 00000000
    [ 349.703492] ffc0: 0000006c 00000003 004b6a10 00000003 004ac0dc 00000003 004a8ad0 00000000
    [ 349.712083] ffe0: 00000003 becd62e0 b6b4db53 b6ad8206
    [ 349.717389] sshd R running task 0 596 276 0x00000000
    [ 349.724803] Backtrace:
    [ 349.727387] [<c0758750>] (__schedule) from [<c0759558>] (preempt_schedule_irq+0x58/0x84)
    [ 349.735893] r10:ce68e1c0 r9:ca48c000 r8:c0101a10 r7:ca48dafc r6:ffffffff r5:60010013
    [ 349.744116] r4:ffffe000
    [ 349.746785] [<c0759500>] (preempt_schedule_irq) from [<c0101a34>] (svc_preempt+0x8/0x18)
    [ 349.755283] Exception stack(0xca48dac8 to 0xca48db10)
    [ 349.760593] dac0: ce62c000 ce62c000 00000000 00000000 000001ff ffffe000
    [ 349.769189] dae0: c0b2b200 cf20b800 01e60658 00000000 ce68e1c0 ca48db24 ca48db28 ca48db18
    [ 349.777780] db00: c07593c4 c075937c 60010013 ffffffff
    [ 349.783087] r5:60010013 r4:c075937c
    [ 349.786850] [<c075939c>] (preempt_schedule) from [<c012e3f8>] (__local_bh_enable_ip+0x80/0xf4)
    [ 349.795904] [<c012e378>] (__local_bh_enable_ip) from [<c065b084>] (ip_output+0xbc/0x178)
    [ 349.804403] r5:c0b03c48 r4:ca118238
    [ 349.808168] [<c065afc8>] (ip_output) from [<c065a6ec>] (ip_local_out+0x40/0x44)
    [ 349.815852] r10:ca5c0080 r9:00000000 r8:000010e9 r7:00000845 r6:ce68e1c0 r5:c0b2b200
    [ 349.824075] r4:ca118238
    [ 349.826743] [<c065a6ac>] (ip_local_out) from [<c065aa04>] (__ip_queue_xmit+0x170/0x410)
    [ 349.835153] r7:00000845 r6:ce68e450 r5:ce68e1c0 r4:ca118238
    [ 349.841107] [<c065a894>] (__ip_queue_xmit) from [<c067ae44>] (ip_queue_xmit+0x14/0x18)
    [ 349.849430] r10:00000028 r9:00000000 r8:000010e9 r7:ca118180 r6:ca118238 r5:ce68e1c0
    [ 349.857654] r4:00000000
    [ 349.860325] [<c067ae30>] (ip_queue_xmit) from [<c0675b28>] (__tcp_transmit_skb+0x590/0xb38)
    [ 349.869105] [<c0675598>] (__tcp_transmit_skb) from [<c0676364>] (tcp_write_xmit+0x294/0x1094)
    [ 349.878067] r10:00000000 r9:000005b4 r8:ce68e1c0 r7:00000028 r6:00000000 r5:000005b4
    [ 349.886290] r4:ca118180
    [ 349.888960] [<c06760d0>] (tcp_write_xmit) from [<c06771a0>] (__tcp_push_pending_frames+0x3c/0xa4)
    [ 349.898286] r10:c2a24e77 r9:ca48de4c r8:00000040 r7:ce68e2bc r6:00000000 r5:ca118180
    [ 349.906509] r4:ce68e1c0
    [ 349.909178] [<c0677164>] (__tcp_push_pending_frames) from [<c0663358>] (tcp_push+0xb8/0x124)
    [ 349.918041] r4:ce68e1c0
    [ 349.920707] [<c06632a0>] (tcp_push) from [<c0667d00>] (tcp_sendmsg_locked+0x914/0xcfc)
    [ 349.929027] r7:ce68e2bc r6:00000028 r5:ca118180 r4:ce68e1c0
    [ 349.934978] [<c06673ec>] (tcp_sendmsg_locked) from [<c0668118>] (tcp_sendmsg+0x30/0x44)
    [ 349.943392] r10:cefb4380 r9:00000000 r8:00000000 r7:ca482300 r6:00000028 r5:ca48de44
    [ 349.951615] r4:ce68e1c0
    [ 349.954282] [<c06680e8>] (tcp_sendmsg) from [<c06957d8>] (inet_sendmsg+0x34/0x110)
    [ 349.962236] r7:ca482300 r6:ca48ded0 r5:c0b03c48 r4:ce68e1c0
    [ 349.968186] [<c06957a4>] (inet_sendmsg) from [<c05e3e38>] (sock_sendmsg+0x1c/0x2c)
    [ 349.976137] r5:c0b03c48 r4:ca48deb8
    [ 349.979899] [<c05e3e1c>] (sock_sendmsg) from [<c05e3ee0>] (sock_write_iter+0x98/0xdc)
    [ 349.988131] [<c05e3e48>] (sock_write_iter) from [<c02621e4>] (__vfs_write+0x104/0x168)
    [ 349.996454] r10:00000028 r9:00000000 r8:00000000 r7:ca48df58 r6:ca482300 r5:00000000
    [ 350.004675] r4:c0b03c48
    [ 350.007344] [<c02620e0>] (__vfs_write) from [<c02623e0>] (vfs_write+0xac/0x184)
    [ 350.015028] r10:00000028 r9:00000000 r8:00000000 r7:ca48df58 r6:005babe0 r5:ca482300
    [ 350.023251] r4:00000028
    [ 350.025920] [<c0262334>] (vfs_write) from [<c0262660>] (ksys_write+0x64/0xe4)
    [ 350.033420] r8:00000000 r7:005babe0 r6:ca482300 r5:c0b03c48 r4:ca482300
    [ 350.040467] [<c02625fc>] (ksys_write) from [<c02626f0>] (sys_write+0x10/0x14)
    [ 350.047967] r10:00000004 r9:ca48c000 r8:c0101204 r7:00000004 r6:00000003 r5:00000028
    [ 350.056191] r4:0000006c
    [ 350.058858] [<c02626e0>] (sys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x4c)
    [ 350.066808] Exception stack(0xca48dfa8 to 0xca48dff0)
    [ 350.072118] dfa0: 0000006c 00000028 00000003 005babe0 00000028 00000000
    [ 350.080713] dfc0: 0000006c 00000028 00000003 00000004 0059e0dc 00000003 0059aad0 00000000
    [ 350.089303] dfe0: 00000004 beabd2e8 b6b5dc0b b6ae8206
    [ 350.094607] sshd R running task 0 555 276 0x00000000
    [ 350.102020] Backtrace:
    [ 350.104603] [<c0758750>] (__schedule) from [<c0759358>] (preempt_schedule_common+0x30/0x54)
    [ 350.113382] r10:ce68cd80 r9:00000000 r8:01e6068c r7:cf20b800 r6:c0b2b200 r5:ffffe000
    [ 350.121605] r4:ffffe000
    [ 350.124274] [<c0759328>] (preempt_schedule_common) from [<c0759398>] (preempt_schedule.part.5+0x1c/0x20)
    [ 350.134232] r5:ffffe000 r4:000001ff
    [ 350.137995] [<c075937c>] (preempt_schedule.part.5) from [<c07593c4>] (preempt_schedule+0x28/0x2c)
    [ 350.147320] [<c075939c>] (preempt_schedule) from [<c012e3f8>] (__local_bh_enable_ip+0x80/0xf4)
    [ 350.156372] [<c012e378>] (__local_bh_enable_ip) from [<c065b084>] (ip_output+0xbc/0x178)
    [ 350.164870] r5:c0b03c48 r4:ce7d8d80
    [ 350.168633] [<c065afc8>] (ip_output) from [<c065a6ec>] (ip_local_out+0x40/0x44)
    [ 350.176318] r10:ca5c0080 r9:83126e97 r8:8d4fdf3b r7:00001045 r6:ce68cd80 r5:c0b2b200
    [ 350.184541] r4:ce7d8d80
    [ 350.187210] [<c065a6ac>] (ip_local_out) from [<c065aa04>] (__ip_queue_xmit+0x170/0x410)
    [ 350.195621] r7:00001045 r6:ce68d010 r5:ce68cd80 r4:ce7d8d80
    [ 350.201574] [<c065a894>] (__ip_queue_xmit) from [<c067ae44>] (ip_queue_xmit+0x14/0x18)
    [ 350.209896] r10:00000020 r9:83126e97 r8:8d4fdf3b r7:00000000 r6:ce7d8d80 r5:ce68cd80
    [ 350.218119] r4:00000000
    [ 350.220789] [<c067ae30>] (ip_queue_xmit) from [<c0675b28>] (__tcp_transmit_skb+0x590/0xb38)
    [ 350.229570] [<c0675598>] (__tcp_transmit_skb) from [<c0677c34>] (__tcp_send_ack.part.6+0xb8/0x124)
    [ 350.238987] r10:ce68d220 r9:83126e97 r8:8d4fdf3b r7:ca27c668 r6:00000001 r5:7b9d806d
    [ 350.247209] r4:ce68cd80
    [ 350.249878] [<c0677b7c>] (__tcp_send_ack.part.6) from [<c06795b4>] (tcp_send_ack+0x20/0x24)
    [ 350.258653] r6:c0b03c48 r5:ce7d8d80 r4:ce68cd80
    [ 350.263511] [<c0679594>] (tcp_send_ack) from [<c0669ed4>] (__tcp_ack_snd_check+0x4c/0x1dc)
    [ 350.272199] [<c0669e88>] (__tcp_ack_snd_check) from [<c0672310>] (tcp_rcv_established+0x304/0x6b8)
    [ 350.281615] r9:83126e97 r8:8d4fdf3b r6:c0b03c48 r5:ce7d8d80 r4:ce68cd80
    [ 350.288662] [<c067200c>] (tcp_rcv_established) from [<c067c160>] (tcp_v4_do_rcv+0x17c/0x1b0)
    [ 350.297532] r10:ce68cd80 r9:c098dbd8 r8:ce68cdf0 r7:c0b338a2 r6:ca5c0580 r5:ce7d8d80
    [ 350.305754] r4:ce68cd80
    [ 350.308423] [<c067bfe4>] (tcp_v4_do_rcv) from [<c05e9768>] (__release_sock+0x84/0xe0)
    [ 350.316651] r7:c0b338a2 r6:00000000 r5:ce7d8cc0 r4:ce7d8d80
    [ 350.322600] [<c05e96e4>] (__release_sock) from [<c05e97f4>] (release_sock+0x30/0x88)
    [ 350.330739] r10:ce68d174 r9:00000030 r8:ce68cd80 r7:00000000 r6:ce68ce1c r5:ce68cdf0
    [ 350.338964] r4:ce68cd80 r3:ce7d8cc0
    [ 350.342725] [<c05e97c4>] (release_sock) from [<c0664954>] (tcp_recvmsg+0x328/0xac8)
    [ 350.350767] r5:00000000 r4:ce68ce1c
    [ 350.354530] [<c066462c>] (tcp_recvmsg) from [<c0695558>] (inet_recvmsg+0x5c/0x124)
    [ 350.362487] r10:00004000 r9:00000000 r8:ce663180 r7:cee9b380 r6:c066462c r5:ca52fe4c
    [ 350.370709] r4:c0b03c48
    [ 350.373374] [<c06954fc>] (inet_recvmsg) from [<c05e2600>] (sock_read_iter+0xa0/0xec)
    [ 350.381512] r7:cee9b380 r6:c06954fc r5:c0b03c48 r4:ca52feb8
    [ 350.387463] [<c05e2560>] (sock_read_iter) from [<c0261f20>] (__vfs_read+0x104/0x164)
    [ 350.395601] r8:00000000 r7:ca52ff58 r6:ce663180 r5:00000000 r4:c0b03c48
    [ 350.402647] [<c0261e1c>] (__vfs_read) from [<c0262010>] (vfs_read+0x90/0x114)
    [ 350.410148] r10:00004000 r9:00000000 r8:00000000 r7:ca52ff58 r6:becd6304 r5:ce663180
    [ 350.418371] r4:00004000
    [ 350.421040] [<c0261f80>] (vfs_read) from [<c0262568>] (ksys_read+0x64/0xe4)
    [ 350.428358] r9:00000000 r8:00000000 r7:becd6304 r6:ce663180 r5:c0b03c48 r4:ce663180
    [ 350.436498] [<c0262504>] (ksys_read) from [<c02625f8>] (sys_read+0x10/0x14)
    [ 350.443817] r10:00000003 r9:ca52e000 r8:c0101204 r7:00000003 r6:004b6a10 r5:00000003
    [ 350.452039] r4:0000006c
    [ 350.454707] [<c02625e8>] (sys_read) from [<c0101000>] (ret_fast_syscall+0x0/0x4c)
    [ 350.462565] Exception stack(0xca52ffa8 to 0xca52fff0)
    [ 350.467875] ffa0: 0000006c 00000003 00000003 becd6304 00004000 00000000
    [ 350.476469] ffc0: 0000006c 00000003 004b6a10 00000003 004ac0dc 00000003 004a8ad0 00000000
    [ 350.485060] ffe0: 00000003 becd62e0 b6b4db53 b6ad8206
    [ 350.490435] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.496344] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.502187] cdc_ether 2-1.4:1.3 lte0: rxqlen 0 --> 1
    [ 350.508065] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.513963] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.519839] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.525673] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.531542] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.537371] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.543215] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.549087] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.554914] musb-hdrc musb-hdrc.1: end 2 RX proto error
    [ 350.560759] musb-hdrc musb-hdrc.1: end 2 RX proto error

  • Hi,

    It seems your usb modem uses different code path than the one I have, that is why the patch for wwan driver fixes the issue for me, but not for your use case. It would be difficult to find the root cause remotely, so is it possible for you to send me a usb modem so that I can debug the issue on my desk locally? If so, please contact TI local FAE to ship me the modem.