lkml.org 
[lkml]   [2017]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 4/5] wlcore: Use common error handling code in wlcore_set_beacon_template()
    From
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Sun, 29 Oct 2017 20:16:22 +0100

    Adjust jump targets so that a bit of exception handling can be better
    reused at the end of this function.

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    drivers/net/wireless/ti/wlcore/main.c | 18 +++++++-----------
    1 file changed, 7 insertions(+), 11 deletions(-)

    diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
    index 0365b5e40a8d..12a9d6509382 100644
    --- a/drivers/net/wireless/ti/wlcore/main.c
    +++ b/drivers/net/wireless/ti/wlcore/main.c
    @@ -4024,10 +4024,9 @@ static int wlcore_set_beacon_template(struct wl1271 *wl,
    wl1271_debug(DEBUG_MASTER, "beacon updated");

    ret = wl1271_ssid_set(wlvif, beacon, ieoffset);
    - if (ret < 0) {
    - dev_kfree_skb(beacon);
    - goto out;
    - }
    + if (ret < 0)
    + goto free_skb;
    +
    min_rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
    tmpl_id = is_ap ? CMD_TEMPL_AP_BEACON :
    CMD_TEMPL_BEACON;
    @@ -4035,10 +4034,8 @@ static int wlcore_set_beacon_template(struct wl1271 *wl,
    beacon->data,
    beacon->len, 0,
    min_rate);
    - if (ret < 0) {
    - dev_kfree_skb(beacon);
    - goto out;
    - }
    + if (ret < 0)
    + goto free_skb;

    wlvif->wmm_enabled =
    cfg80211_find_vendor_ie(WLAN_OUI_MICROSOFT,
    @@ -4051,7 +4048,7 @@ static int wlcore_set_beacon_template(struct wl1271 *wl,
    * by usermode, don't use the beacon data.
    */
    if (test_bit(WLVIF_FLAG_AP_PROBE_RESP_SET, &wlvif->flags))
    - goto end_bcn;
    + goto free_skb;

    /* remove TIM ie from probe response */
    wl12xx_remove_ie(beacon, WLAN_EID_TIM, ieoffset);
    @@ -4081,9 +4078,8 @@ static int wlcore_set_beacon_template(struct wl1271 *wl,
    beacon->data,
    beacon->len, 0,
    min_rate);
    -end_bcn:
    +free_skb:
    dev_kfree_skb(beacon);
    -out:
    return ret;
    }

    --
    2.14.3
    \
     
     \ /
      Last update: 2017-10-29 21:15    [W:2.524 / U:0.328 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site