Skip to content
Snippets Groups Projects
Commit d0acf734 authored by Corey Minyard's avatar Corey Minyard
Browse files

ipmi_ssif: Use interruptible completion for waiting in the thread


The code was using an normal completion, but that caused stuck
task errors after a while.  Use an interruptible one to avoid that.

Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
parent ad1ed2a9
No related branches found
No related tags found
No related merge requests found
...@@ -468,11 +468,13 @@ static int ipmi_ssif_thread(void *data) ...@@ -468,11 +468,13 @@ static int ipmi_ssif_thread(void *data)
int result; int result;
/* Wait for something to do */ /* Wait for something to do */
wait_for_completion(&ssif_info->wake_thread); result = wait_for_completion_interruptible(
init_completion(&ssif_info->wake_thread); &ssif_info->wake_thread);
if (ssif_info->stopping) if (ssif_info->stopping)
break; break;
if (result == -ERESTARTSYS)
continue;
init_completion(&ssif_info->wake_thread);
if (ssif_info->i2c_read_write == I2C_SMBUS_WRITE) { if (ssif_info->i2c_read_write == I2C_SMBUS_WRITE) {
result = i2c_smbus_write_block_data( result = i2c_smbus_write_block_data(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment