[PATCH v1 3/5] amd64_edac: enforce synchronous probe

From: Luis R. Rodriguez
Date: Fri Sep 26 2014 - 17:57:38 EST


From: "Luis R. Rodriguez" <mcgrof@xxxxxxxx>

While testing asynchronous PCI probe on this driver I noticed
it failed so enforce just synchronouse probe for now. Asynchronous
probe is not used by default and requires userepace intervention.
Patches for its support will be merged later.

[ 14.411083] AMD64 EDAC driver v3.4.0
[ 14.411156] bus: 'pci': probe for driver amd64_edac is run asynchronously
[ 14.411308] really_probe: driver_sysfs_add(0000:00:18.2) failed
[ 14.411354] ------------[ cut here ]------------
[ 14.411398] WARNING: CPU: 4 PID: 224 at fs/kernfs/dir.c:1220 kernfs_remove_by_name_ns+0x83/0x90()
[ 14.411446] kernfs: can not remove '0000:00:18.2', no directory
[ 14.411484] Modules linked in: glue_helper(+) amd64_edac_mod(-) <etc>
[ 14.413654] CPU: 4 PID: 224 Comm: kworker/u16:3 Not tainted 3.17.0-rc6+ #1
[ 14.413695] Hardware name: To be filled by O.E.M. To be filled by O.E.M./M5A97, BIOS 1605 10/25/2012
[ 14.413809] Workqueue: events_unbound driver_attach_workfn
[ 14.413909] 0000000000000009 ffffffff814d2cf9 ffff8803f0513d20 ffffffff81061972
[ 14.414145] 0000000000000000
[ 14.414254] ffff8803f0513d70
[ 14.414383] ffffffffa032c068 0000000000000038
[ 14.414507] 0000000000000000 ffffffff810619d7 ffffffff81723238 ffff880300000020
[ 14.414701] Call Trace:
[ 14.414746] [<ffffffff814d2cf9>] ? dump_stack+0x41/0x51
[ 14.414790] [<ffffffff81061972>] ? warn_slowpath_common+0x72/0x90
[ 14.414834] [<ffffffff810619d7>] ? warn_slowpath_fmt+0x47/0x50
[ 14.414880] [<ffffffff814d0ac3>] ? printk+0x4f/0x51
[ 14.414921] [<ffffffff811f8593>] ? kernfs_remove_by_name_ns+0x83/0x90
[ 14.415000] [<ffffffff8137433d>] ? driver_sysfs_remove+0x1d/0x40
[ 14.415046] [<ffffffff81374a15>] ? driver_probe_device+0x1d5/0x250
[ 14.415099] [<ffffffff81374b4b>] ? __driver_attach+0x7b/0x80
[ 14.415149] [<ffffffff81374ad0>] ? __device_attach+0x40/0x40
[ 14.415204] [<ffffffff81372a13>] ? bus_for_each_dev+0x53/0x90
[ 14.415254] [<ffffffff81373913>] ? driver_attach_workfn+0x13/0x80
[ 14.415298] [<ffffffff81077403>] ? process_one_work+0x143/0x3c0
[ 14.415342] [<ffffffff81077a44>] ? worker_thread+0x114/0x480
[ 14.415384] [<ffffffff81077930>] ? rescuer_thread+0x2b0/0x2b0
[ 14.415427] [<ffffffff8107c261>] ? kthread+0xc1/0xe0
[ 14.415468] [<ffffffff8107c1a0>] ? kthread_create_on_node+0x170/0x170
[ 14.415511] [<ffffffff814d883c>] ? ret_from_fork+0x7c/0xb0
[ 14.415554] [<ffffffff8107c1a0>] ? kthread_create_on_node+0x170/0x170
[ 14.415595] ---[ end trace dd11ab53a6e1ec0d ]---
[ 14.415643] amd64_edac: probe of 0000:00:18.2 failed with error 0

Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx>
Cc: linux-edac@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
---
drivers/edac/amd64_edac.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index f8bf000..dc997ae 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -2872,6 +2872,7 @@ static struct pci_driver amd64_pci_driver = {
.probe = probe_one_instance,
.remove = remove_one_instance,
.id_table = amd64_pci_table,
+ .driver.sync_probe = true,
};

static void setup_pci_device(void)
--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/