Commit 4791c03d authored by Corey Minyard's avatar Corey Minyard Committed by Linus Torvalds

[PATCH] ipmi: fix event queue limit

The event handler mechanism in the IPMI driver had a limit on the number of
received events, but the counts were not being updated.  Update the counts
to impose a limit.  This is not a critical fix, as this function (the
sending of the events) has to be turned on by the user, anyway.  This
avoids problems if they forget to turn it back off.
Signed-off-by: default avatarCorey Minyard <minyard@acm.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 091e881d
...@@ -941,6 +941,7 @@ int ipmi_set_gets_events(ipmi_user_t user, int val) ...@@ -941,6 +941,7 @@ int ipmi_set_gets_events(ipmi_user_t user, int val)
list_del(&msg->link); list_del(&msg->link);
list_add_tail(&msg->link, &msgs); list_add_tail(&msg->link, &msgs);
} }
intf->waiting_events_count = 0;
} }
/* Hold the events lock while doing this to preserve order. */ /* Hold the events lock while doing this to preserve order. */
...@@ -2916,6 +2917,7 @@ static int handle_read_event_rsp(ipmi_smi_t intf, ...@@ -2916,6 +2917,7 @@ static int handle_read_event_rsp(ipmi_smi_t intf,
copy_event_into_recv_msg(recv_msg, msg); copy_event_into_recv_msg(recv_msg, msg);
list_add_tail(&(recv_msg->link), &(intf->waiting_events)); list_add_tail(&(recv_msg->link), &(intf->waiting_events));
intf->waiting_events_count++;
} else { } else {
/* There's too many things in the queue, discard this /* There's too many things in the queue, discard this
message. */ message. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment