|
@@ -157,12 +157,16 @@ static int ipmi_release(struct inode *inode, struct file *file)
|
|
|
{
|
|
|
struct ipmi_file_private *priv = file->private_data;
|
|
|
int rv;
|
|
|
+ struct ipmi_recv_msg *msg, *next;
|
|
|
|
|
|
rv = ipmi_destroy_user(priv->user);
|
|
|
if (rv)
|
|
|
return rv;
|
|
|
|
|
|
- /* FIXME - free the messages in the list. */
|
|
|
+ list_for_each_entry_safe(msg, next, &priv->recv_msgs, link)
|
|
|
+ ipmi_free_recv_msg(msg);
|
|
|
+
|
|
|
+
|
|
|
kfree(priv);
|
|
|
|
|
|
return 0;
|