diff options
author | Jubeom Kim <jubeomk@nvidia.com> | 2011-06-22 23:40:43 +0900 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2011-06-24 02:55:48 -0700 |
commit | 794cd34757fe7193b0e2f1847335d127840fd4a3 (patch) | |
tree | 50b9c7195502000ea4e83041ed868ea6a081017b | |
parent | 851ffd0a30cbe67a5033a9792825b319f0bcd7ed (diff) |
video: tegra: fix the free sequence in tegra_fb_register.
Fix err_delete_wq and err_put_client of error handling.
Change-Id: Ibc86b018172db3df4eca12b5fdd01763679486d0
Reviewed-on: http://git-master/r/37870
Tested-by: Jubeom Kim <jubeomk@nvidia.com>
Reviewed-by: Donghan Ryu <dryu@nvidia.com>
Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
-rw-r--r-- | drivers/video/tegra/fb.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/video/tegra/fb.c b/drivers/video/tegra/fb.c index f52b693af207..e0a39529494d 100644 --- a/drivers/video/tegra/fb.c +++ b/drivers/video/tegra/fb.c @@ -787,7 +787,7 @@ struct tegra_fb_info *tegra_fb_register(struct nvhost_device *ndev, if (!tegra_fb->flip_wq) { dev_err(&ndev->dev, "couldn't create flip work-queue\n"); ret = -ENOMEM; - goto err_delete_wq; + goto err_put_client; } if (fb_mem) { @@ -797,7 +797,7 @@ struct tegra_fb_info *tegra_fb_register(struct nvhost_device *ndev, if (!fb_base) { dev_err(&ndev->dev, "fb can't be mapped\n"); ret = -EBUSY; - goto err_put_client; + goto err_delete_wq; } tegra_fb->valid = true; } @@ -873,10 +873,10 @@ struct tegra_fb_info *tegra_fb_register(struct nvhost_device *ndev, err_iounmap_fb: iounmap(fb_base); -err_put_client: - nvmap_client_put(tegra_fb->fb_nvmap); err_delete_wq: destroy_workqueue(tegra_fb->flip_wq); +err_put_client: + nvmap_client_put(tegra_fb->fb_nvmap); err_free: framebuffer_release(info); err: |