projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3afa9f1
)
mlx4_core: Avoid vunmap() of invalid pointer if allocation fails
author
Ali Ayoub
<ali@dev.mellanox.co.il>
Tue, 11 Jan 2011 01:42:06 +0000
(17:42 -0800)
committer
Roland Dreier
<rolandd@cisco.com>
Tue, 11 Jan 2011 01:42:06 +0000
(17:42 -0800)
Signed-off-by: Ali Ayoub <ali@mellanox.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/net/mlx4/alloc.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/net/mlx4/alloc.c
b/drivers/net/mlx4/alloc.c
index 8f4bf1f07c11e824e8e21785f122c5d0d66775c5..3a4277f6fac4171991a24a9ebd1de3f032a96636 100644
(file)
--- a/
drivers/net/mlx4/alloc.c
+++ b/
drivers/net/mlx4/alloc.c
@@
-178,6
+178,7
@@
int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct,
} else {
int i;
+ buf->direct.buf = NULL;
buf->nbufs = (size + PAGE_SIZE - 1) / PAGE_SIZE;
buf->npages = buf->nbufs;
buf->page_shift = PAGE_SHIFT;
@@
-229,7
+230,7
@@
void mlx4_buf_free(struct mlx4_dev *dev, int size, struct mlx4_buf *buf)
dma_free_coherent(&dev->pdev->dev, size, buf->direct.buf,
buf->direct.map);
else {
- if (BITS_PER_LONG == 64)
+ if (BITS_PER_LONG == 64
&& buf->direct.buf
)
vunmap(buf->direct.buf);
for (i = 0; i < buf->nbufs; ++i)