History

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.

Corey Minyard committed 11 years ago

Commit d0acf731 parent ad1ed2a1 file · +5 −3Browse files

Unified · Split

drivers/char/ipmi/ipmi_ssif.c+5−3
@@ -468,11 +468,13 @@ static int ipmi_ssif_thread(void *data) · 467 unmodified lines
468468 int result;
469469
470470 /* Wait for something to do */
471− wait_for_completion(&ssif_info->wake_thread);
472− init_completion(&ssif_info->wake_thread);
473−
471+ result = wait_for_completion_interruptible(
472+ &ssif_info->wake_thread);
474473 if (ssif_info->stopping)
475474 break;
475+ if (result == -ERESTARTSYS)
476+ continue;
477+ init_completion(&ssif_info->wake_thread);
476478
477479 if (ssif_info->i2c_read_write == I2C_SMBUS_WRITE) {
478480 result = i2c_smbus_write_block_data(

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t