aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/user_mad.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@hera.kernel.org>2005-05-27 01:16:24 -0700
committerChristoph Hellwig <hch@melbourne.sgi.com>2005-05-27 01:16:24 -0700
commitb19312c4c8f3f84da57bba01d45549df1cf10dcd (patch)
tree1c34ce89be6b4e257bc03026d0268deb17727044 /drivers/infiniband/core/user_mad.c
parent[XFS] Fix directory inodes ioctl compat code, minor code consistency cleanups (diff)
parentAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 (diff)
downloadlinux-dev-b19312c4c8f3f84da57bba01d45549df1cf10dcd.tar.xz
linux-dev-b19312c4c8f3f84da57bba01d45549df1cf10dcd.zip
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/infiniband/core/user_mad.c')
-rw-r--r--drivers/infiniband/core/user_mad.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c
index 56b9c2fa2ecc..9d912d6877ff 100644
--- a/drivers/infiniband/core/user_mad.c
+++ b/drivers/infiniband/core/user_mad.c
@@ -499,6 +499,7 @@ static int ib_umad_open(struct inode *inode, struct file *filp)
static int ib_umad_close(struct inode *inode, struct file *filp)
{
struct ib_umad_file *file = filp->private_data;
+ struct ib_umad_packet *packet, *tmp;
int i;
for (i = 0; i < IB_UMAD_MAX_AGENTS; ++i)
@@ -507,6 +508,9 @@ static int ib_umad_close(struct inode *inode, struct file *filp)
ib_unregister_mad_agent(file->agent[i]);
}
+ list_for_each_entry_safe(packet, tmp, &file->recv_list, list)
+ kfree(packet);
+
kfree(file);
return 0;