diff options
author | Ken Adams <kadams@nvidia.com> | 2011-08-01 15:21:33 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:48:00 -0800 |
commit | 6d91c36232cc52787d7679e21844882a6b18ee14 (patch) | |
tree | bea7cbc5c0034615ec52376cf823ed9e1ae7b8d9 | |
parent | 2789ea2793546262d611c774eb33a55e23a84737 (diff) |
video: tegra: nvmap: handle free null conditions
Original-Change-Id: I75e88d6cef2daf625c6ede38a937207b95e2b84c
Reviewed-on: http://git-master/r/44364
Reviewed-by: Ken Adams <kadams@nvidia.com>
Tested-by: Ken Adams <kadams@nvidia.com>
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Rebase-Id: Rd79c4aac3d3e03e601be5b35934fe36a35cd358f
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap.c | 6 | ||||
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap_handle.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap.c b/drivers/video/tegra/nvmap/nvmap.c index 6e9d72c39c2d..0bf4d884aa81 100644 --- a/drivers/video/tegra/nvmap/nvmap.c +++ b/drivers/video/tegra/nvmap/nvmap.c @@ -620,6 +620,9 @@ phys_addr_t nvmap_handle_address(struct nvmap_client *c, unsigned long id) void nvmap_unpin(struct nvmap_client *client, struct nvmap_handle_ref *ref) { + if (!ref) + return; + atomic_dec(&ref->pin); if (handle_unpin(client, ref->handle, false)) wake_up(&client->share->pin_wait); @@ -807,6 +810,9 @@ void nvmap_free_iovm(struct nvmap_client *client, struct nvmap_handle_ref *r) void nvmap_free(struct nvmap_client *client, struct nvmap_handle_ref *r) { + if (!r) + return; + nvmap_free_handle_id(client, nvmap_ref_to_id(r)); } diff --git a/drivers/video/tegra/nvmap/nvmap_handle.c b/drivers/video/tegra/nvmap/nvmap_handle.c index 2aa971430dbc..a4412afb6967 100644 --- a/drivers/video/tegra/nvmap/nvmap_handle.c +++ b/drivers/video/tegra/nvmap/nvmap_handle.c @@ -499,6 +499,9 @@ struct nvmap_handle_ref *nvmap_create_handle(struct nvmap_client *client, struct nvmap_handle *h; struct nvmap_handle_ref *ref = NULL; + if (!client ) + return ERR_PTR(-EINVAL); + if (!size) return ERR_PTR(-EINVAL); |