From: Wei Yongjun <[email protected]>
Add the missing unlock before return from function
wcn36xx_smd_update_proberesp_tmpl() in the error
handling case.
Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/net/wireless/ath/wcn36xx/smd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
index f8c3a10..04df70b 100644
--- a/drivers/net/wireless/ath/wcn36xx/smd.c
+++ b/drivers/net/wireless/ath/wcn36xx/smd.c
@@ -1327,7 +1327,8 @@ int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn,
if (skb->len > BEACON_TEMPLATE_SIZE) {
wcn36xx_warn("probe response template is too big: %d\n",
skb->len);
- return -E2BIG;
+ ret = -E2BIG;
+ goto out;
}
msg.probe_resp_template_len = skb->len;
Looks good to me! I assume this patch is the result of running smatch?
I made the same patch, just did not have time to send it out.
On Wed, Oct 30, 2013 at 5:30 AM, Wei Yongjun <[email protected]> wrote:
> From: Wei Yongjun <[email protected]>
>
> Add the missing unlock before return from function
> wcn36xx_smd_update_proberesp_tmpl() in the error
> handling case.
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/net/wireless/ath/wcn36xx/smd.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
> index f8c3a10..04df70b 100644
> --- a/drivers/net/wireless/ath/wcn36xx/smd.c
> +++ b/drivers/net/wireless/ath/wcn36xx/smd.c
> @@ -1327,7 +1327,8 @@ int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn,
> if (skb->len > BEACON_TEMPLATE_SIZE) {
> wcn36xx_warn("probe response template is too big: %d\n",
> skb->len);
> - return -E2BIG;
> + ret = -E2BIG;
> + goto out;
> }
>
> msg.probe_resp_template_len = skb->len;
>
--
Best regards,
Eugene
On 10/30/2013 03:12 PM, Eugene Krasnikov wrote:
> Looks good to me! I assume this patch is the result of running smatch?
> I made the same patch, just did not have time to send it out.
Hi,
I used coccinelle with script to found this. ^_^
>
> On Wed, Oct 30, 2013 at 5:30 AM, Wei Yongjun <[email protected]> wrote:
>> From: Wei Yongjun <[email protected]>
>>
>> Add the missing unlock before return from function
>> wcn36xx_smd_update_proberesp_tmpl() in the error
>> handling case.
>>
>> Signed-off-by: Wei Yongjun <[email protected]>
>> ---
>> drivers/net/wireless/ath/wcn36xx/smd.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
>> index f8c3a10..04df70b 100644
>> --- a/drivers/net/wireless/ath/wcn36xx/smd.c
>> +++ b/drivers/net/wireless/ath/wcn36xx/smd.c
>> @@ -1327,7 +1327,8 @@ int wcn36xx_smd_update_proberesp_tmpl(struct wcn36xx *wcn,
>> if (skb->len > BEACON_TEMPLATE_SIZE) {
>> wcn36xx_warn("probe response template is too big: %d\n",
>> skb->len);
>> - return -E2BIG;
>> + ret = -E2BIG;
>> + goto out;
>> }
>>
>> msg.probe_resp_template_len = skb->len;
>>
>
>