From: Daniel Wagner <daniel.wag...@bmw-carit.de>

There is only one waiter for the completion, therefore there
is no need to use complete_all(). Let's make that clear by
using complete() instead of complete_all().

The usage pattern of the completion is:

waiter context                          waker context

read_local_version()
  reinit_completion()
  st_int_write()
  wait_for_completion_interruptible_timeout()

                                        validate_firmware_response()
                                          complete()
  reinit_completion()

Signed-off-by: Daniel Wagner <daniel.wag...@bmw-carit.de>
---
 drivers/misc/ti-st/st_kim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/ti-st/st_kim.c b/drivers/misc/ti-st/st_kim.c
index bf0d770..0e1c94a 100644
--- a/drivers/misc/ti-st/st_kim.c
+++ b/drivers/misc/ti-st/st_kim.c
@@ -88,7 +88,7 @@ static void validate_firmware_response(struct kim_data_s 
*kim_gdata)
                return;         /* keep waiting for the proper response */
        }
        /* becos of all the script being downloaded */
-       complete_all(&kim_gdata->kim_rcvd);
+       complete(&kim_gdata->kim_rcvd);
        kfree_skb(skb);
 }
 
-- 
2.7.4

Reply via email to