greybus: svc: clean up link configuration hack at hello
authorJohan Hovold <johan@kernel.org>
Wed, 2 Feb 2022 11:33:47 +0000 (12:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Feb 2022 14:27:44 +0000 (15:27 +0100)
Commit ee2f2074fdb2 ("greybus: svc: reconfig APBridgeA-Switch link to
handle required load") added a temporary hack which reconfigures the
link at HELLO by abusing the deferred request processing mechanism.

Restructure the HELLO request processing so that the link-configuration
work is queued before creating the debugfs files and add a comment
explaining why it's there.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220202113347.1288-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/greybus/svc.c

index 4f93d6b..56d2b44 100644 (file)
@@ -864,16 +864,19 @@ static int gb_svc_hello(struct gb_operation *op)
                goto err_deregister_svc;
        }
 
-       gb_svc_debugfs_init(svc);
-
+       /*
+        * FIXME: This is a temporary hack to reconfigure the link at HELLO
+        * (which abuses the deferred request processing mechanism).
+        */
        ret = gb_svc_queue_deferred_request(op);
        if (ret)
-               goto err_remove_debugfs;
+               goto err_destroy_watchdog;
+
+       gb_svc_debugfs_init(svc);
 
        return 0;
 
-err_remove_debugfs:
-       gb_svc_debugfs_exit(svc);
+err_destroy_watchdog:
        gb_svc_watchdog_destroy(svc);
 err_deregister_svc:
        device_del(&svc->dev);