2014-11-20 15:50:58

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH 1/1] net: brcm80211: Deletion of unnecessary checks before two function calls

From: Markus Elfring <[email protected]>
Date: Thu, 20 Nov 2014 16:42:51 +0100

The functions brcmu_pkt_buf_free_skb() and release_firmware() test whether
their argument is NULL and then return immediately. Thus the test around
the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 3 +--
drivers/net/wireless/brcm80211/brcmfmac/firmware.c | 3 +--
drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c | 3 +--
drivers/net/wireless/brcm80211/brcmsmac/main.c | 3 +--
4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index f55f625..8ff7037 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -2539,8 +2539,7 @@ static void brcmf_sdio_bus_stop(struct device *dev)
brcmu_pktq_flush(&bus->txq, true, NULL, NULL);

/* Clear any held glomming stuff */
- if (bus->glomd)
- brcmu_pkt_buf_free_skb(bus->glomd);
+ brcmu_pkt_buf_free_skb(bus->glomd);
brcmf_sdio_free_glom(bus);

/* Clear rx control and wake any waiters */
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
index 8ea9f28..3a2d014 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
@@ -262,8 +262,7 @@ static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx)

fail:
brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev));
- if (fwctx->code)
- release_firmware(fwctx->code);
+ release_firmware(fwctx->code);
device_release_driver(fwctx->dev);
kfree(fwctx);
}
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
index 8f8b937..0cb00dc 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
@@ -506,8 +506,7 @@ static int brcmf_msgbuf_query_dcmd(struct brcmf_pub *drvr, int ifidx,
memcpy(buf, skb->data, (len < msgbuf->ioctl_resp_ret_len) ?
len : msgbuf->ioctl_resp_ret_len);
}
- if (skb)
- brcmu_pkt_buf_free_skb(skb);
+ brcmu_pkt_buf_free_skb(skb);

return msgbuf->ioctl_resp_status;
}
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
index 1b47482..ce538a1 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
@@ -1009,8 +1009,7 @@ brcms_c_dotxstatus(struct brcms_c_info *wlc, struct tx_status *txs)
if (txh)
trace_brcms_txdesc(&wlc->hw->d11core->dev, txh,
sizeof(*txh));
- if (p)
- brcmu_pkt_buf_free_skb(p);
+ brcmu_pkt_buf_free_skb(p);
}

if (dma && queue < NFIFO) {
--
2.1.3



2014-11-20 18:04:30

by Arend van Spriel

[permalink] [raw]
Subject: Re: [PATCH 1/1] net: brcm80211: Deletion of unnecessary checks before two function calls

On 11/20/14 16:50, SF Markus Elfring wrote:
> From: Markus Elfring<[email protected]>
> Date: Thu, 20 Nov 2014 16:42:51 +0100
>
> The functions brcmu_pkt_buf_free_skb() and release_firmware() test whether
> their argument is NULL and then return immediately. Thus the test around
> the call is not needed.
>
> This issue was detected by using the Coccinelle software.

Goodo for coccinelle and you for running it.

Acked-by: Arend van Spriel <[email protected]>
> Signed-off-by: Markus Elfring<[email protected]>
> ---
> drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 3 +--
> drivers/net/wireless/brcm80211/brcmfmac/firmware.c | 3 +--
> drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c | 3 +--
> drivers/net/wireless/brcm80211/brcmsmac/main.c | 3 +--
> 4 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> index f55f625..8ff7037 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> @@ -2539,8 +2539,7 @@ static void brcmf_sdio_bus_stop(struct device *dev)
> brcmu_pktq_flush(&bus->txq, true, NULL, NULL);
>
> /* Clear any held glomming stuff */
> - if (bus->glomd)
> - brcmu_pkt_buf_free_skb(bus->glomd);
> + brcmu_pkt_buf_free_skb(bus->glomd);
> brcmf_sdio_free_glom(bus);
>
> /* Clear rx control and wake any waiters */
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> index 8ea9f28..3a2d014 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> @@ -262,8 +262,7 @@ static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx)
>
> fail:
> brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev));
> - if (fwctx->code)
> - release_firmware(fwctx->code);
> + release_firmware(fwctx->code);
> device_release_driver(fwctx->dev);
> kfree(fwctx);
> }
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
> index 8f8b937..0cb00dc 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c
> @@ -506,8 +506,7 @@ static int brcmf_msgbuf_query_dcmd(struct brcmf_pub *drvr, int ifidx,
> memcpy(buf, skb->data, (len< msgbuf->ioctl_resp_ret_len) ?
> len : msgbuf->ioctl_resp_ret_len);
> }
> - if (skb)
> - brcmu_pkt_buf_free_skb(skb);
> + brcmu_pkt_buf_free_skb(skb);
>
> return msgbuf->ioctl_resp_status;
> }
> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> index 1b47482..ce538a1 100644
> --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
> +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> @@ -1009,8 +1009,7 @@ brcms_c_dotxstatus(struct brcms_c_info *wlc, struct tx_status *txs)
> if (txh)
> trace_brcms_txdesc(&wlc->hw->d11core->dev, txh,
> sizeof(*txh));
> - if (p)
> - brcmu_pkt_buf_free_skb(p);
> + brcmu_pkt_buf_free_skb(p);
> }
>
> if (dma&& queue< NFIFO) {


2015-11-06 07:58:44

by SF Markus Elfring

[permalink] [raw]
Subject: [PATCH] net: brcm80211: Delete an unnecessary check before the function call "release_firmware"

From: Markus Elfring <[email protected]>
Date: Fri, 6 Nov 2015 08:48:23 +0100

The release_firmware() function tests whether its argument is NULL and then
returns immediately. Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
drivers/net/wireless/brcm80211/brcmfmac/firmware.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
index 4248f3c..33afb9a 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
@@ -449,8 +449,7 @@ static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx)

if (raw_nvram)
bcm47xx_nvram_release_contents(data);
- if (fw)
- release_firmware(fw);
+ release_firmware(fw);
if (!nvram && !(fwctx->flags & BRCMF_FW_REQ_NV_OPTIONAL))
goto fail;

--
2.6.2


2015-11-26 12:04:57

by Kalle Valo

[permalink] [raw]
Subject: Re: brcm80211: Delete an unnecessary check before the function call"release_firmware"


> From: Markus Elfring <[email protected]>
> Date: Fri, 6 Nov 2015 08:48:23 +0100
>
> The release_firmware() function tests whether its argument is NULL and then
> returns immediately. Thus the test around the call is not needed.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <[email protected]>
> Acked-by: Arend van Spriel <[email protected]>

Thanks, applied to wireless-drivers-next.git.

Kalle Valo

2015-11-11 09:18:27

by Arend van Spriel

[permalink] [raw]
Subject: Re: [PATCH] net: brcm80211: Delete an unnecessary check before the function call "release_firmware"

On 11/06/2015 08:58 AM, SF Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> Date: Fri, 6 Nov 2015 08:48:23 +0100
>
> The release_firmware() function tests whether its argument is NULL and then
> returns immediately. Thus the test around the call is not needed.
>
> This issue was detected by using the Coccinelle software.

Acked-by: Arend van Spriel <[email protected]>
> Signed-off-by: Markus Elfring <[email protected]>
> ---
> drivers/net/wireless/brcm80211/brcmfmac/firmware.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> index 4248f3c..33afb9a 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c
> @@ -449,8 +449,7 @@ static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx)
>
> if (raw_nvram)
> bcm47xx_nvram_release_contents(data);
> - if (fw)
> - release_firmware(fw);
> + release_firmware(fw);
> if (!nvram && !(fwctx->flags & BRCMF_FW_REQ_NV_OPTIONAL))
> goto fail;
>
>