Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 3052
b: refs/heads/master
c: 8f43f84
h: refs/heads/master
v: v3
  • Loading branch information
Corey Minyard authored and Linus Torvalds committed Jun 24, 2005
1 parent 808c0f1 commit 09b2fdd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 845e78a15726f238fe1398b8c07754726cd726a7
refs/heads/master: 8f43f84f13a49fe5f0f7d1595082b6d7ec6daa85
17 changes: 5 additions & 12 deletions trunk/drivers/char/ipmi/ipmi_msghandler.c
Original file line number Diff line number Diff line change
Expand Up @@ -2747,16 +2747,13 @@ static struct timer_list ipmi_timer;
the queue and this silliness can go away. */
#define IPMI_REQUEST_EV_TIME (1000 / (IPMI_TIMEOUT_TIME))

static volatile int stop_operation = 0;
static volatile int timer_stopped = 0;
static atomic_t stop_operation;
static unsigned int ticks_to_req_ev = IPMI_REQUEST_EV_TIME;

static void ipmi_timeout(unsigned long data)
{
if (stop_operation) {
timer_stopped = 1;
if (atomic_read(&stop_operation))
return;
}

ticks_to_req_ev--;
if (ticks_to_req_ev == 0) {
Expand All @@ -2766,8 +2763,7 @@ static void ipmi_timeout(unsigned long data)

ipmi_timeout_handler(IPMI_TIMEOUT_TIME);

ipmi_timer.expires += IPMI_TIMEOUT_JIFFIES;
add_timer(&ipmi_timer);
mod_timer(&ipmi_timer, jiffies + IPMI_TIMEOUT_JIFFIES);
}


Expand Down Expand Up @@ -3130,11 +3126,8 @@ static __exit void cleanup_ipmi(void)

/* Tell the timer to stop, then wait for it to stop. This avoids
problems with race conditions removing the timer here. */
stop_operation = 1;
while (!timer_stopped) {
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(1);
}
atomic_inc(&stop_operation);
del_timer_sync(&ipmi_timer);

remove_proc_entry(proc_ipmi_root->name, &proc_root);

Expand Down

0 comments on commit 09b2fdd

Please sign in to comment.