Peter Chen
5bbc852676
usb: gadget: dummy_hcd: clear usb_gadget region before registration
When the user does device unbind and rebind test, the kernel will
show below dump due to usb_gadget memory region is dirty after unbind.
Clear usb_gadget region for every new probe.
root@imx6qdlsolo:/sys/bus/platform/drivers/dummy_udc# echo dummy_udc.0 > bind
[ 102.523312] kobject (eddd78b0): tried to init an initialized object, something is seriously wrong.
[ 102.532447] CPU: 0 PID: 734 Comm: sh Not tainted 4.10.0-rc7-00872-g1b2b8e9 #1298
[ 102.539866] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[ 102.545717] Backtrace:
[ 102.548225] [<c010d090>] (dump_backtrace) from [<c010d338>] (show_stack+0x18/0x1c)
[ 102.555822] r7:ede34000 r6:60010013 r5:00000000 r4:c0f29418
[ 102.561512] [<c010d320>] (show_stack) from [<c040c2a4>] (dump_stack+0xb4/0xe8)
[ 102.568764] [<c040c1f0>] (dump_stack) from [<c040e6d4>] (kobject_init+0x80/0x9c)
[ 102.576187] r10:0000001f r9:eddd7000 r8:eeaf8c10 r7:eddd78a8 r6:c177891c r5:c0f3b060
[ 102.584036] r4:eddd78b0 r3:00000000
[ 102.587641] [<c040e654>] (kobject_init) from [<c05359a4>] (device_initialize+0x28/0xf8)
[ 102.595665] r5:eebc4800 r4:eddd78a8
[ 102.599268] [<c053597c>] (device_initialize) from [<c05382ac>] (device_register+0x14/0x20)
[ 102.607556] r7:eddd78a8 r6:00000000 r5:eebc4800 r4:eddd78a8
[ 102.613256] [<c0538298>] (device_register) from [<c0668ef4>] (usb_add_gadget_udc_release+0x8c/0x1ec)
[ 102.622410] r5:eebc4800 r4:eddd7860
[ 102.626015] [<c0668e68>] (usb_add_gadget_udc_release) from [<c0669068>] (usb_add_gadget_udc+0x14/0x18)
[ 102.635351] r10:0000001f r9:eddd7000 r8:eddd788c r7:bf003770 r6:eddd77f8 r5:eddd7818
[ 102.643198] r4:eddd785c r3:eddd7b24
[ 102.646834] [<c0669054>] (usb_add_gadget_udc) from [<bf003428>] (dummy_udc_probe+0x170/0x1c4 [dummy_hcd])
[ 102.656458] [<bf0032b8>] (dummy_udc_probe [dummy_hcd]) from [<c053d114>] (platform_drv_probe+0x54/0xb8)
[ 102.665881] r10:00000008 r9:c1778960 r8:bf004128 r7:fffffdfb r6:bf004128 r5:eeaf8c10
[ 102.673727] r4:eeaf8c10
[ 102.676293] [<c053d0c0>] (platform_drv_probe) from [<c053b160>] (driver_probe_device+0x264/0x474)
[ 102.685186] r7:00000000 r6:00000000 r5:c1778960 r4:eeaf8c10
[ 102.690876] [<c053aefc>] (driver_probe_device) from [<c05397c4>] (bind_store+0xb8/0x14c)
[ 102.698994] r10:eeb3bb4c r9:ede34000 r8:0000000c r7:eeaf8c44 r6:bf004128 r5:c0f3b668
[ 102.706840] r4:eeaf8c10
[ 102.709402] [<c053970c>] (bind_store) from [<c0538ca8>] (drv_attr_store+0x28/0x34)
[ 102.716998] r9:ede34000 r8:00000000 r7:ee3863c0 r6:ee3863c0 r5:c0538c80 r4:c053970c
[ 102.724776] [<c0538c80>] (drv_attr_store) from [<c029c930>] (sysfs_kf_write+0x50/0x54)
[ 102.732711] r5:c0538c80 r4:0000000c
[ 102.736313] [<c029c8e0>] (sysfs_kf_write) from [<c029be84>] (kernfs_fop_write+0x100/0x214)
[ 102.744599] r7:ee3863c0 r6:eeb3bb40 r5:00000000 r4:00000000
[ 102.750287] [<c029bd84>] (kernfs_fop_write) from [<c0222dd8>] (__vfs_write+0x34/0x120)
[ 102.758231] r10:00000000 r9:ede34000 r8:c0108bc4 r7:0000000c r6:ede35f80 r5:c029bd84
[ 102.766077] r4:ee223780
[ 102.768638] [<c0222da4>] (__vfs_write) from [<c0224678>] (vfs_write+0xa8/0x170)
[ 102.775974] r9:ede34000 r8:c0108bc4 r7:ede35f80 r6:01861cb0 r5:ee223780 r4:0000000c
[ 102.783743] [<c02245d0>] (vfs_write) from [<c0225498>] (SyS_write+0x4c/0xa8)
[ 102.790818] r9:ede34000 r8:c0108bc4 r7:0000000c r6:01861cb0 r5:ee223780 r4:ee223780
[ 102.798595] [<c022544c>] (SyS_write) from [<c0108a20>] (ret_fast_syscall+0x0/0x1c)
[ 102.806188] r7:00000004 r6:b6e83d58 r5:01861cb0 r4:0000000c
Fixes: 90fccb529d ("usb: gadget: Gadget directory cleanup - group UDC drivers")
Cc: stable <stable@vger.kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Tested-by: Xiaolong Ye <xiaolong.ye@intel.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2017-03-06 16:33:20 +02:00
..
2017-03-03 16:48:48 -08:00
2017-03-02 08:42:29 +01:00
2017-03-03 21:36:56 -08:00
2017-03-02 08:42:32 +01:00
2017-03-03 11:38:56 -08:00
2017-03-03 21:36:56 -08:00
2017-02-19 00:26:37 +01:00
2017-02-23 15:57:04 -08:00
2017-02-17 14:08:19 -07:00
2017-03-03 10:16:38 -08:00
2017-03-03 16:15:48 -08:00
2017-03-02 08:42:27 +01:00
2017-03-03 10:16:38 -08:00
2017-03-03 10:16:38 -08:00
2017-03-04 10:42:53 -08:00
2017-03-02 08:42:40 +01:00
2017-02-27 18:43:47 -08:00
2017-03-02 08:42:40 +01:00
2017-03-02 08:42:32 +01:00
2017-02-20 12:47:44 -08:00
2017-02-27 18:43:46 -08:00
2017-02-28 20:29:41 -08:00
2017-03-02 08:42:27 +01:00
2017-02-23 08:46:04 -08:00
2017-03-03 10:16:38 -08:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:36 +01:00
2017-02-27 18:43:47 -08:00
2017-02-24 17:46:54 -08:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:36 +01:00
2017-03-02 17:41:27 -08:00
2017-03-04 11:26:18 -08:00
2017-03-02 08:42:40 +01:00
2017-03-01 10:01:56 -08:00
2017-03-02 08:42:28 +01:00
2017-02-20 16:42:43 -08:00
2017-03-02 08:42:39 +01:00
2017-03-02 08:42:27 +01:00
2017-03-02 08:42:32 +01:00
2017-02-15 08:27:21 -07:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:32 +01:00
2017-03-03 10:16:38 -08:00
2017-03-02 08:42:37 +01:00
2017-02-23 15:57:04 -08:00
2017-02-17 14:08:19 -07:00
2017-02-21 11:51:42 -08:00
2017-02-22 12:14:01 -08:00
2017-03-03 10:16:38 -08:00
2017-03-02 08:42:27 +01:00
2017-03-03 11:38:56 -08:00
2017-03-04 17:31:39 -08:00
2017-02-27 18:43:47 -08:00
2017-02-16 23:11:26 -05:00
2017-03-01 00:49:42 -08:00
2017-03-03 10:53:35 -08:00
2017-02-22 19:23:14 -08:00
2017-03-02 08:42:40 +01:00
2017-03-03 16:20:06 -08:00
2017-03-02 08:42:32 +01:00
2017-03-03 16:44:21 -08:00
2017-03-02 08:42:27 +01:00
2017-02-23 11:53:22 -08:00
2017-02-27 18:43:47 -08:00
2017-03-02 08:42:27 +01:00
2017-02-27 18:43:47 -08:00
2017-03-02 08:42:29 +01:00
2017-02-22 18:22:53 -08:00
2017-03-01 09:46:02 -08:00
2017-02-27 18:43:45 -08:00
2017-02-20 17:23:57 -08:00
2017-03-02 13:53:13 -08:00
2017-02-23 15:57:04 -08:00
2017-03-02 13:53:13 -08:00
2017-03-02 08:42:32 +01:00
2017-03-03 10:16:38 -08:00
2017-03-03 21:36:56 -08:00
2017-03-02 08:42:32 +01:00
2017-03-02 08:42:27 +01:00
2017-03-04 11:26:18 -08:00
2017-03-03 10:16:38 -08:00
2017-03-02 08:42:27 +01:00
2017-03-02 08:42:40 +01:00
2017-03-02 08:42:32 +01:00
2017-03-06 16:33:20 +02:00
2017-03-02 08:42:29 +01:00
2017-03-03 10:16:38 -08:00
2017-03-03 01:45:16 +01:00
2017-03-03 10:16:38 -08:00
2017-03-02 08:42:29 +01:00
2017-03-01 06:15:10 -08:00
2017-03-02 08:42:31 +01:00
2017-02-23 11:53:22 -08:00