diff options
| author | Dolev Raviv <draviv@codeaurora.org> | 2014-10-23 06:25:17 -0400 |
|---|---|---|
| committer | Christoph Hellwig <hch@lst.de> | 2014-11-20 11:47:41 -0500 |
| commit | e8cb64db81e8c88c5c824ca74c2e57b4c6919ca6 (patch) | |
| tree | 5fd09caffd0c43a13062395bebbd42d9448c7933 | |
| parent | eda910e4d03af878482055ce511a522d9bbda0e8 (diff) | |
scsi: ufs: fix static checker warning in ufshcd_parse_clock_info
This patch fixes newly introduced static checker warning in
ufshcd_parse_clock_info, introduced by UFS power management series.
Warning:
drivers/scsi/ufs/ufshcd-pltfrm.c:138 ufshcd_parse_clock_info()
warn: passing devm_ allocated variable to kfree. 'clkfreq'
To fix it we remove the kfree(clkfreq) statement.
In addition we removed the redundant goto label.
Signed-off-by: Dolev Raviv <draviv@codeaurora.org>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
| -rw-r--r-- | drivers/scsi/ufs/ufshcd-pltfrm.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c index 2cdec7847e73..1c3467b82566 100644 --- a/drivers/scsi/ufs/ufshcd-pltfrm.c +++ b/drivers/scsi/ufs/ufshcd-pltfrm.c | |||
| @@ -102,7 +102,6 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba) | |||
| 102 | clkfreq = devm_kzalloc(dev, sz * sizeof(*clkfreq), | 102 | clkfreq = devm_kzalloc(dev, sz * sizeof(*clkfreq), |
| 103 | GFP_KERNEL); | 103 | GFP_KERNEL); |
| 104 | if (!clkfreq) { | 104 | if (!clkfreq) { |
| 105 | dev_err(dev, "%s: no memory\n", "freq-table-hz"); | ||
| 106 | ret = -ENOMEM; | 105 | ret = -ENOMEM; |
| 107 | goto out; | 106 | goto out; |
| 108 | } | 107 | } |
| @@ -112,19 +111,19 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba) | |||
| 112 | if (ret && (ret != -EINVAL)) { | 111 | if (ret && (ret != -EINVAL)) { |
| 113 | dev_err(dev, "%s: error reading array %d\n", | 112 | dev_err(dev, "%s: error reading array %d\n", |
| 114 | "freq-table-hz", ret); | 113 | "freq-table-hz", ret); |
| 115 | goto free_clkfreq; | 114 | return ret; |
| 116 | } | 115 | } |
| 117 | 116 | ||
| 118 | for (i = 0; i < sz; i += 2) { | 117 | for (i = 0; i < sz; i += 2) { |
| 119 | ret = of_property_read_string_index(np, | 118 | ret = of_property_read_string_index(np, |
| 120 | "clock-names", i/2, (const char **)&name); | 119 | "clock-names", i/2, (const char **)&name); |
| 121 | if (ret) | 120 | if (ret) |
| 122 | goto free_clkfreq; | 121 | goto out; |
| 123 | 122 | ||
| 124 | clki = devm_kzalloc(dev, sizeof(*clki), GFP_KERNEL); | 123 | clki = devm_kzalloc(dev, sizeof(*clki), GFP_KERNEL); |
| 125 | if (!clki) { | 124 | if (!clki) { |
| 126 | ret = -ENOMEM; | 125 | ret = -ENOMEM; |
| 127 | goto free_clkfreq; | 126 | goto out; |
| 128 | } | 127 | } |
| 129 | 128 | ||
| 130 | clki->min_freq = clkfreq[i]; | 129 | clki->min_freq = clkfreq[i]; |
| @@ -134,8 +133,6 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba) | |||
| 134 | clki->min_freq, clki->max_freq, clki->name); | 133 | clki->min_freq, clki->max_freq, clki->name); |
| 135 | list_add_tail(&clki->list, &hba->clk_list_head); | 134 | list_add_tail(&clki->list, &hba->clk_list_head); |
| 136 | } | 135 | } |
| 137 | free_clkfreq: | ||
| 138 | kfree(clkfreq); | ||
| 139 | out: | 136 | out: |
| 140 | return ret; | 137 | return ret; |
| 141 | } | 138 | } |
