Hi, On 4/29/2018 4:44 PM, Amr Bekhit wrote: > Hello, > > We're working with an embedded system that uses the RK3188 SoC and has a > Quectel EC25 4G modem connected via USB. We're using Buildroot 2018.02.1 to > compile the kernel (4.15.16 using the radxarock_defconfig) and root file > system. The system enumerates the USB just fine and Quectel's quectel-CM > executable is then used to start QMI and connect to the 4G network. The > connection is successful, and I can ping websites just fine. However, when > I come to download a large file, a kernel oops occurs. This happens > consistently. Here's an example log: > > # wget https://urldefense.proofpoint.com/v2/url?u=http-3A__speedtest.tele2.net_100MB.zip&d=DwIBaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=cQBKt4q-qzNVC53rNAwuwplH23V61rHQhhULvdLA0U8&m=jJJIamtosvad_neUIcXyUCTtHjH3ue9cRjgWDi0hOTs&s=sAsFiRlSCGgMQbB2kirQXr2nURDLZn1rEGlMX5JvJ3k&e= > --2018-04-27 14:54:54-- https://urldefense.proofpoint.com/v2/url?u=http-3A__speedtest.tele2.net_100MB.zip&d=DwIBaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=cQBKt4q-qzNVC53rNAwuwplH23V61rHQhhULvdLA0U8&m=jJJIamtosvad_neUIcXyUCTtHjH3ue9cRjgWDi0hOTs&s=sAsFiRlSCGgMQbB2kirQXr2nURDLZn1rEGlMX5JvJ3k&e= > Resolving speedtest.tele2.net... 90.130.70.73, 2a00:800:1010::1 > Connecting to speedtest.tele2.net|90.130.70.73|:80... connected. > HTTP request sent, awaiting response... 200 OK > Length: 104857600 (100M) [application/zip] > Saving to: '100MB.zip' > > 100MB.zip 0%[ > > ] 358.58K 1.72MB/s dwc2 101c0000.usb: > dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown > dwc2 101c0000.usb: hcint 0x00000002, intsts 0x04000029 > dwc2 101c0000.usb: dwc2_update_urb_state_abn(): trimming xfer length > dwc2 101c0000.usb: dwc2_update_urb_state(): trimming xfer length > Unable to handle kernel paging request at virtual address 2f0cf7d0 > pgd = e12e3a71 > [2f0cf7d0] *pgd=00000000 > Internal error: Oops: 5 [#1] SMP ARM > Modules linked in: > CPU: 1 PID: 196 Comm: wget Not tainted 4.15.16 #2 > Hardware name: Rockchip (Device Tree) > PC is at kfree_skb_list+0x18/0x28 > LR is at skb_release_data+0x40/0x134 > pc : [<c0508f58>] lr : [<c05098f8>] psr: 20000013 > sp : ef085d60 ip : ef085d78 fp : ef085d74 > r10: 00000000 r9 : 00000000 r8 : ee4a1084 > r7 : ef085df8 r6 : 00000000 r5 : ee9b9780 r4 : eeae7f40 > r3 : 00000000 r2 : 00001b40 r1 : 00001380 r0 : 2f0cf7d0 > Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none > Control: 10c5387d Table: 8e45804a DAC: 00000051 > Process wget (pid: 196, stack limit = 0x11d0fd5f) > Stack: (0xef085d60 to 0xef086000) > 5d60: eeae7f40 ee9b9780 ef085d94 ef085d78 c05098f8 c0508f4c ee9b9780 > 00001600 > 5d80: ee9b9780 ef085df8 ef085dac ef085d98 c0508ec0 c05098c4 ee9b9780 > 00001600 > 5da0: ef085dc4 ef085db0 c0508ed8 c0508ea4 ee4a0cc0 00001600 ef085e4c > ef085dc8 > 5dc0: c055b948 c0508ed0 effba620 00000000 eeede0b0 00000004 ef085e20 > ee4a0d5c > 5de0: 00000001 00000000 ee4a115c 00000001 ef085e90 00000a00 5ae339c0 > 1c015810 > 5e00: ef085ef0 7fffffff 5ae339c0 1c015810 ef085e28 ef085e2c 00000000 > 00000000 > 5e20: 00000008 ef085e90 c055b304 ee9bdc00 eeea5500 00002000 ef084000 > 00000000 > 5e40: ef085e74 ef085e50 c0582410 c055b310 00000000 ef085e5c ef085edc > 00000000 > 5e60: c05823c8 00002000 ef085e8c ef085e78 c04fdb38 c05823d4 ef085ef0 > 00002000 > 5e80: ef085edc ef085e90 c04fdbc4 c04fdb24 00000000 00000000 00000000 > 00001600 > 5ea0: 00000a00 ef085ee8 00000001 00000002 00000000 00000000 00000000 > ef085f08 > 5ec0: ee9bdc00 00000000 00000000 ef085f80 ef085f4c ef085ee0 c01eaf88 > c04fdb48 > 5ee0: 00002000 00000000 00e25b18 00002000 00000000 00000000 00002000 > ef085ee8 > 5f00: 00000001 00000002 ee9bdc00 00000000 00000000 00000000 00000000 > 00000000 > 5f20: 00000000 00000000 be9243e0 ee9bdc00 00000000 00002000 00e25b18 > ef085f80 > 5f40: ef085f7c ef085f50 c01eb044 c01eae94 c02072ac c020720c ef085f7c > ee9bdc00 > 5f60: ee9bdc00 00e25b18 00002000 c0107c84 ef085fa4 ef085f80 c01eb4b0 > c01eafb8 > 5f80: 00000000 00000000 00000000 00000003 0008ce08 00000003 00000000 > ef085fa8 > 5fa0: c0107aa0 c01eb474 00000000 00000003 00000003 00e25b18 00002000 > 00000000 > 5fc0: 00000000 00000003 0008ce08 00000003 00002000 00000000 000bf64d > 00000000 > 5fe0: 000850a4 be924470 000164e0 b6cacaf8 60000010 00000003 ffffffff > ffffffff > Backtrace: > [<c0508f40>] (kfree_skb_list) from [<c05098f8>] > (skb_release_data+0x40/0x134) > r5:ee9b9780 r4:eeae7f40 > [<c05098b8>] (skb_release_data) from [<c0508ec0>] > (skb_release_all+0x28/0x2c) > r7:ef085df8 r6:ee9b9780 r5:00001600 r4:ee9b9780 > [<c0508e98>] (skb_release_all) from [<c0508ed8>] (__kfree_skb+0x14/0x20) > r5:00001600 r4:ee9b9780 > [<c0508ec4>] (__kfree_skb) from [<c055b948>] (tcp_recvmsg+0x644/0x8c8) > r5:00001600 r4:ee4a0cc0 > [<c055b304>] (tcp_recvmsg) from [<c0582410>] (inet_recvmsg+0x48/0xc4) > r10:00000000 r9:ef084000 r8:00002000 r7:eeea5500 r6:ee9bdc00 r5:c055b304 > r4:ef085e90 > [<c05823c8>] (inet_recvmsg) from [<c04fdb38>] (sock_recvmsg+0x20/0x24) > r5:00002000 r4:c05823c8 > [<c04fdb18>] (sock_recvmsg) from [<c04fdbc4>] (sock_read_iter+0x88/0xb0) > r5:00002000 r4:ef085ef0 > [<c04fdb3c>] (sock_read_iter) from [<c01eaf88>] (__vfs_read+0x100/0x124) > r7:ef085f80 r6:00000000 r5:00000000 r4:ee9bdc00 > [<c01eae88>] (__vfs_read) from [<c01eb044>] (vfs_read+0x98/0x104) > r8:ef085f80 r7:00e25b18 r6:00002000 r5:00000000 r4:ee9bdc00 > [<c01eafac>] (vfs_read) from [<c01eb4b0>] (SyS_read+0x48/0x80) > r8:c0107c84 r7:00002000 r6:00e25b18 r5:ee9bdc00 r4:ee9bdc00 > [<c01eb468>] (SyS_read) from [<c0107aa0>] (ret_fast_syscall+0x0/0x54) > r7:00000003 r6:0008ce08 r5:00000003 r4:00000000 > Code: e24cb004 e3500000 1a000000 e89da830 (e5904000) > ---[ end trace 7a84dd028106284e ]--- > > The repeated references to dwc2 in the log made me think there may be a > problem in the USB driver. Any thoughts? > > Amr > Could you please apply follow patches from linux-usb mailing list: 1. usb: dwc2: hcd: Fix host channel halt flow 2. usb: dwc2: host: Fix transaction errors in host mode and test again. Thanks, Minas -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html