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
468 int result;468 int result;
469 469
470 /* Wait for something to do */470 /* Wait for something to do */
471 wait_for_completion(&ssif_info->wake_thread);471 result = wait_for_completion_interruptible(
472 init_completion(&ssif_info->wake_thread);472 &ssif_info->wake_thread);
473
474 if (ssif_info->stopping)473 if (ssif_info->stopping)
475 break;474 break;
475 if (result == -ERESTARTSYS)
476 continue;
477 init_completion(&ssif_info->wake_thread);
476 478
477 if (ssif_info->i2c_read_write == I2C_SMBUS_WRITE) {479 if (ssif_info->i2c_read_write == I2C_SMBUS_WRITE) {
478 result = i2c_smbus_write_block_data(480 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