aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ieee1394/nodemgr.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index bfab7933d68c..1ce3d8a14ae7 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -405,26 +405,11 @@ static ssize_t fw_get_destroy_node(struct bus_type *bus, char *buf)
405} 405}
406static BUS_ATTR(destroy_node, S_IWUSR | S_IRUGO, fw_get_destroy_node, fw_set_destroy_node); 406static BUS_ATTR(destroy_node, S_IWUSR | S_IRUGO, fw_get_destroy_node, fw_set_destroy_node);
407 407
408static int nodemgr_rescan_bus_thread(void *__unused)
409{
410 /* No userlevel access needed */
411 daemonize("kfwrescan");
412
413 bus_rescan_devices(&ieee1394_bus_type);
414
415 return 0;
416}
417 408
418static ssize_t fw_set_rescan(struct bus_type *bus, const char *buf, size_t count) 409static ssize_t fw_set_rescan(struct bus_type *bus, const char *buf, size_t count)
419{ 410{
420 int state = simple_strtoul(buf, NULL, 10); 411 if (simple_strtoul(buf, NULL, 10) == 1)
421 412 bus_rescan_devices(&ieee1394_bus_type);
422 /* Don't wait for this, or care about errors. Root could do
423 * something stupid and spawn this a lot of times, but that's
424 * root's fault. */
425 if (state == 1)
426 kernel_thread(nodemgr_rescan_bus_thread, NULL, CLONE_KERNEL);
427
428 return count; 413 return count;
429} 414}
430static ssize_t fw_get_rescan(struct bus_type *bus, char *buf) 415static ssize_t fw_get_rescan(struct bus_type *bus, char *buf)