Commits
Peter Chen committed 2be0b1e63a6
MLK-18609-5 usb: cdns3: gadget: implement setup status completion properly For CDNS3 gadget, there is NO setup status completion interrupt, but software has related request and completion handler for EP0 setup status. In previous design, it executes ->completion before .ep0_queue back, and causes cdev->setup_pending and cdev->os_desc_pending incorrect, the dequeue is executed wrongly. In this commit, we postpone ->comletion to workqueue or the next EP0 interrupt, it makes sure the ->completion is executed after .ep0_queue. [ 220.785184] android_work: did not send uevent (0 0 (null)) [ 220.792651] Bad mode in Error handler detected on CPU2, code 0xbf000002 -- SError 06-28 02:47:13.145 3946 3946 I zygote64: Deoptimizing void com.android.systemui.statusbar.stack.NotificationStackScrollLayout.updateContentHeight() due to JIT inline cache [ 220.815371] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP [ 220.821312] Modules linked in: [ 220.824389] CPU: 2 PID: 1 Comm: init Not tainted 4.9.105-644221-ga78d348 #8 [ 220.831362] Hardware name: Freescale i.MX8QXP MEK (DT) [ 220.836504] task: ffff80083a0e0000 task.stack: ffff80083a0e8000 [ 220.842431] PC is at 0x4ec908 [ 220.845398] LR is at 0x454a30 [ 220.848363] pc : [<00000000004ec908>] lr : [<0000000000454a30>] pstate: 40000000 [ 220.855762] sp : 0000ffffe0c35ca0 [ 220.859072] x29: 0000ffffe0c35cc0 x28: 00000000ffffffff [ 220.864397] x27: 00000000ffffffff x26: 0000000000000001 [ 220.869722] x25: 0000ffff7f6446a9 x24: 000000000057da40 [ 220.875047] x23: 0000000000088241 x22: 0000ffff7f6446c0 [ 220.880373] x21: 0000ffff7f6446c1 x20: 0000000000000009 [ 220.885698] x19: 0000000000000004 x18: 00000000020f06cc [ 220.891024] x17: aaaaaaaaaaaaaaab x16: 0000000000000000 [ 220.896349] x15: 000000000000005c x14: 0000000000000000 [ 220.901675] x13: 4344552f31672f74 x12: 0000ffffe0c35c88 [ 220.907000] x11: 0000ffffe0c35cd0 x10: 0000000000000004 [ 220.912325] x9 : 0000000000000000 x8 : 0000000000000040 [ 220.917651] x7 : 7f7f7f7f7f7f7f7f x6 : 655e666d68736860 [ 220.922976] x5 : 0000000000000000 x4 : 0000000000000000 [ 220.928302] x3 : 0000000000000180 x2 : 0000000000000004 [ 220.933627] x1 : 0000ffff7f6446c1 x0 : 0000000000000004 [ 220.938952] [ 220.940440] Process init (pid: 1, stack limit = 0xffff80083a0e8000) Reported-by: Andy Tian <yang.tian@nxp.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>