From: Ajay Singh Date: Mon, 26 Mar 2018 11:45:59 +0000 (+0530) Subject: staging: wilc1000: free allocated memory after processing wilc_send_config_pkt() X-Git-Tag: v4.17-rc1~124^2~62 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=8d5b5e6a26d187221c541a8fb0c59ab8ad536888;p=linux.git staging: wilc1000: free allocated memory after processing wilc_send_config_pkt() Free allocated memory after completing wilc_send_config_pkt() function. Remove unncessary use of 'stamac' pointer in handle_get_inactive_time(). Signed-off-by: Ajay Singh Reviewed-by: Claudiu Beznea Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c index b710b6f6866a..da53fec46590 100644 --- a/drivers/staging/wilc1000/host_interface.c +++ b/drivers/staging/wilc1000/host_interface.c @@ -1921,7 +1921,6 @@ static s32 handle_get_inactive_time(struct wilc_vif *vif, struct sta_inactive_t *hif_sta_inactive) { s32 result = 0; - u8 *stamac; struct wid wid; struct host_if_drv *hif_drv = vif->hif_drv; @@ -1932,11 +1931,11 @@ static s32 handle_get_inactive_time(struct wilc_vif *vif, if (!wid.val) return -ENOMEM; - stamac = wid.val; - ether_addr_copy(stamac, hif_sta_inactive->mac); + ether_addr_copy(wid.val, hif_sta_inactive->mac); result = wilc_send_config_pkt(vif, SET_CFG, &wid, 1, wilc_get_vif_idx(vif)); + kfree(wid.val); if (result) { netdev_err(vif->ndev, "Failed to SET inactive time\n"); @@ -2237,6 +2236,7 @@ static int handle_remain_on_chan(struct wilc_vif *vif, result = wilc_send_config_pkt(vif, SET_CFG, &wid, 1, wilc_get_vif_idx(vif)); + kfree(wid.val); if (result != 0) netdev_err(vif->ndev, "Failed to set remain on channel\n"); @@ -2281,6 +2281,7 @@ static int handle_register_frame(struct wilc_vif *vif, result = wilc_send_config_pkt(vif, SET_CFG, &wid, 1, wilc_get_vif_idx(vif)); + kfree(wid.val); if (result) { netdev_err(vif->ndev, "Failed to frame register\n"); result = -EINVAL; @@ -2312,6 +2313,7 @@ static u32 handle_listen_state_expired(struct wilc_vif *vif, result = wilc_send_config_pkt(vif, SET_CFG, &wid, 1, wilc_get_vif_idx(vif)); + kfree(wid.val); if (result != 0) { netdev_err(vif->ndev, "Failed to set remain channel\n"); goto _done_;