diff options
| -rw-r--r-- | drivers/misc/ti-st/st_kim.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/misc/ti-st/st_kim.c b/drivers/misc/ti-st/st_kim.c index e5639ca97dce..1748a9351de0 100644 --- a/drivers/misc/ti-st/st_kim.c +++ b/drivers/misc/ti-st/st_kim.c | |||
| @@ -299,6 +299,7 @@ static long download_firmware(struct kim_data_s *kim_gdata) | |||
| 299 | 299 | ||
| 300 | switch (((struct bts_action *)ptr)->type) { | 300 | switch (((struct bts_action *)ptr)->type) { |
| 301 | case ACTION_SEND_COMMAND: /* action send */ | 301 | case ACTION_SEND_COMMAND: /* action send */ |
| 302 | pr_debug("S"); | ||
| 302 | action_ptr = &(((struct bts_action *)ptr)->data[0]); | 303 | action_ptr = &(((struct bts_action *)ptr)->data[0]); |
| 303 | if (unlikely | 304 | if (unlikely |
| 304 | (((struct hci_command *)action_ptr)->opcode == | 305 | (((struct hci_command *)action_ptr)->opcode == |
| @@ -336,6 +337,10 @@ static long download_firmware(struct kim_data_s *kim_gdata) | |||
| 336 | release_firmware(kim_gdata->fw_entry); | 337 | release_firmware(kim_gdata->fw_entry); |
| 337 | return -ETIMEDOUT; | 338 | return -ETIMEDOUT; |
| 338 | } | 339 | } |
| 340 | /* reinit completion before sending for the | ||
| 341 | * relevant wait | ||
| 342 | */ | ||
| 343 | INIT_COMPLETION(kim_gdata->kim_rcvd); | ||
| 339 | 344 | ||
| 340 | /* | 345 | /* |
| 341 | * Free space found in uart buffer, call st_int_write | 346 | * Free space found in uart buffer, call st_int_write |
| @@ -362,6 +367,7 @@ static long download_firmware(struct kim_data_s *kim_gdata) | |||
| 362 | } | 367 | } |
| 363 | break; | 368 | break; |
| 364 | case ACTION_WAIT_EVENT: /* wait */ | 369 | case ACTION_WAIT_EVENT: /* wait */ |
| 370 | pr_debug("W"); | ||
| 365 | if (!wait_for_completion_timeout | 371 | if (!wait_for_completion_timeout |
| 366 | (&kim_gdata->kim_rcvd, | 372 | (&kim_gdata->kim_rcvd, |
| 367 | msecs_to_jiffies(CMD_RESP_TIME))) { | 373 | msecs_to_jiffies(CMD_RESP_TIME))) { |
