Reducing the indentation level helps a bit with
the readability of this function. There's also a checkpatch
fix here, moving the first argument to kthread_create() onto
the same line, as well as a relocation of the statement
"char threadname[16];" to the top of the function to avoid
a declaration in the middle of code.

Signed-off-by: Marcelo Diop-Gonzalez <marcgonza...@google.com>
---
 .../interface/vchiq_arm/vchiq_arm.c           | 41 ++++++++++---------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c 
b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
index b1595b13dea8..e09cc42fe984 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -3132,31 +3132,32 @@ void vchiq_platform_conn_state_changed(struct 
vchiq_state *state,
                                       VCHIQ_CONNSTATE_T newstate)
 {
        struct vchiq_arm_state *arm_state = vchiq_platform_get_arm_state(state);
+       char threadname[16];
 
        vchiq_log_info(vchiq_susp_log_level, "%d: %s->%s", state->id,
                get_conn_state_name(oldstate), get_conn_state_name(newstate));
-       if (state->conn_state == VCHIQ_CONNSTATE_CONNECTED) {
-               write_lock_bh(&arm_state->susp_res_lock);
-               if (!arm_state->first_connect) {
-                       char threadname[16];
+       if (state->conn_state != VCHIQ_CONNSTATE_CONNECTED)
+               return;
 
-                       arm_state->first_connect = 1;
-                       write_unlock_bh(&arm_state->susp_res_lock);
-                       snprintf(threadname, sizeof(threadname), 
"vchiq-keep/%d",
-                               state->id);
-                       arm_state->ka_thread = kthread_create(
-                               &vchiq_keepalive_thread_func,
-                               (void *)state,
+       write_lock_bh(&arm_state->susp_res_lock);
+       if (arm_state->first_connect) {
+               write_unlock_bh(&arm_state->susp_res_lock);
+               return;
+       }
+
+       arm_state->first_connect = 1;
+       write_unlock_bh(&arm_state->susp_res_lock);
+       snprintf(threadname, sizeof(threadname), "vchiq-keep/%d",
+                state->id);
+       arm_state->ka_thread = kthread_create(&vchiq_keepalive_thread_func,
+                                             (void *)state,
+                                             threadname);
+       if (IS_ERR(arm_state->ka_thread)) {
+               vchiq_log_error(vchiq_susp_log_level,
+                               "vchiq: FATAL: couldn't create thread %s",
                                threadname);
-                       if (IS_ERR(arm_state->ka_thread)) {
-                               vchiq_log_error(vchiq_susp_log_level,
-                                       "vchiq: FATAL: couldn't create thread 
%s",
-                                       threadname);
-                       } else {
-                               wake_up_process(arm_state->ka_thread);
-                       }
-               } else
-                       write_unlock_bh(&arm_state->susp_res_lock);
+       } else {
+               wake_up_process(arm_state->ka_thread);
        }
 }
 
-- 
2.20.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to