Regression in net2280 locking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I use a 'USB controller: PLX Technology, Inc. Device 3380 (rev ab)' for a custom usb gadget. With a more recent kernel (4.12+) the cpu hangs and the gadget device is not functioning at all.

I used git-bisect and a basic test gadget from the kernel tree
(tools/usb/ffs-aio-example/simple/device_app/aio_simple.c) to find the first
bad commit: f16443a034c7aa359ddf6f0f9bc40d01ca31faea
The bug still occurs with 4.18.0-rc7+.

Steps to reproduce:
1. Compile and run the testtool 'tools/usb/ffs-aio-example/simple/device_app/aio_simple.c'
2. Connect with a host system
3. Disconnect from host system
4. Kernel suffers CPU lockups

Shell output:
---
$ ./a.out /dev/usb_gadget/aio_simple_gadget
Event Bind
Event Enable     <- connected to host
submit: in
submit: out
Event Suspend  <- disconnected from host
---hangs---         <- Event Disable is missing
---

Dmesg:
---
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.18.0-rc7+ #1
Hardware name: To be filled by O.E.M. To be filled by O.E.M./'TA32', BIOS TA32R020 03/25/2015
RIP: 0010:native_queued_spin_lock_slowpath+0x149/0x1c0
Code: eb e5 8b 0f 89 ca 89 c8 80 ce 01 f0 0f b1 17 0f 94 c2 84 d2 74 7b f7 c1 00 ff ff ff 75 48 85 c9 74 0e 8b 07 84 c0 74 08 f3 90 <8b> 07 84 c0 75 f8 b8 01 00 00 00 66 89 07 c3 8b 17 b8 00 02 00 00
RSP: 0018:ffff95c579083d88 EFLAGS: 00000002
RAX: 0000000000000101 RBX: 0000000000000083 RCX: 0000000000000001
RDX: 0000000000000101 RSI: 0000000000000000 RDI: ffff95c575f38358
RBP: ffff95c575f38400 R08: 0000000000000000 R09: 0000000000000000
R10: ffff95c579083c10 R11: 0000000000000006 R12: 0000000000000000
R13: ffff95c536844c10 R14: 0000000000000086 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff95c579080000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000562f27fc38bc CR3: 000000001a00a000 CR4: 00000000001006e0
Call Trace:
 <IRQ>
 _raw_spin_lock_irqsave+0x32/0x40
 net2280_disable+0x3f/0xe0 [net2280]
 usb_ep_disable+0x79/0x90 [udc_core]
 ffs_func_eps_disable.isra.16+0x4e/0x90 [usb_f_fs]
 ffs_func_set_alt+0x96/0x2c0 [usb_f_fs]
 ? scan_dma_completions+0xd6/0x1d0 [net2280]
 reset_config+0x38/0xa0 [libcomposite]
 composite_disconnect+0x31/0x60 [libcomposite]
 stop_activity+0x5c/0x80 [net2280]
 net2280_irq+0xb7/0x11c0 [net2280]
 __handle_irq_event_percpu+0x81/0x1a0
 handle_irq_event_percpu+0x30/0x80
 handle_irq_event+0x3c/0x60
 handle_edge_irq+0x94/0x1f0
 handle_irq+0x1f/0x30
 do_IRQ+0x41/0xd0
 common_interrupt+0xf/0xf
 </IRQ>
RIP: 0010:cpuidle_enter_state+0x10d/0x270
Code: e8 f8 fd b2 ff 44 8b 6b 04 49 89 c7 0f 1f 44 00 00 31 ff e8 95 08 b3 ff 80 7c 24 07 00 0f 85 de 00 00 00 fb 66 0f 1f 44 00 00 <4d> 29 f7 48 ba cf f7 53 e3 a5 9b c4 20 4c 89 f8 4d 89 fc 48 f7 ea
RSP: 0018:ffffa10e80393e88 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffdb
RAX: ffff95c5790a20c0 RBX: ffff95c5790aa200 RCX: 000000000000001f
RDX: 0000000000000000 RSI: 000000dcb565c18b RDI: 0000000000000000
RBP: 0000000000000003 R08: fffffffbe16f1f40 R09: 0000006f1db87e00
R10: 00000000000004ed R11: ffff95c5790a0fe8 R12: ffffffffa6cbf580
R13: 0000000000000001 R14: 0000006f14016b16 R15: 0000006f140e6066
 ? cpuidle_enter_state+0xfb/0x270
 do_idle+0x226/0x2a0
 cpu_startup_entry+0x6f/0x80
 start_secondary+0x1a4/0x200
 secondary_startup_64+0xa5/0xb0
INFO: rcu_sched detected stalls on CPUs/tasks:
 1-...0: (2 GPs behind) idle=3de/0/1 softirq=7741/7742 fqs=10502
 (detected by 0, t=21007 jiffies, g=6361, c=6360, q=905)
---

Architecture: x86-64
Kernel Version: 4.18.0-rc7+ build from master

Thanks.
--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux