Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb8c4e54 authored by Tobin C. Harding's avatar Tobin C. Harding Committed by Greg Kroah-Hartman
Browse files

staging: ks7010: remove multi-way decision



Function uses multi-way decision for control flow. Final statement of
function is spin_unlock(). Code can be simplified by adding a goto label
labelling the call to spin_unlock() and jumping to label instead of
using multi-way decision. This allows the code to be indented one
level less which adds to the readability.

Add goto label. Remove multi-way decision by jumping to label. Reduce
indentation in subsequent code. Do not change program logic.

Signed-off-by: default avatarTobin C. Harding <me@tobin.cc>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1e0aa795
Loading
Loading
Loading
Loading
+25 −23
Original line number Diff line number Diff line
@@ -2241,36 +2241,38 @@ void hostif_sme_multicast_set(struct ks_wlan_private *priv)
		hostif_mib_set_request(priv, LOCAL_MULTICAST_FILTER,
				       sizeof(filter_type), MIB_VALUE_TYPE_BOOL,
				       &filter_type);
	} else if ((netdev_mc_count(dev) > NIC_MAX_MCAST_LIST) ||
		goto spin_unlock;
	}

	if ((netdev_mc_count(dev) > NIC_MAX_MCAST_LIST) ||
	    (dev->flags & IFF_ALLMULTI)) {
		filter_type = cpu_to_le32((uint32_t)MCAST_FILTER_MCASTALL);
		hostif_mib_set_request(priv, LOCAL_MULTICAST_FILTER,
				       sizeof(filter_type), MIB_VALUE_TYPE_BOOL,
				       &filter_type);
	} else {
		goto spin_unlock;
	}

	if (priv->sme_i.sme_flag & SME_MULTICAST) {
		mc_count = netdev_mc_count(dev);
		netdev_for_each_mc_addr(ha, dev) {
				memcpy(&set_address[i * ETH_ALEN], ha->addr,
				       ETH_ALEN);
			memcpy(&set_address[i * ETH_ALEN], ha->addr, ETH_ALEN);
			i++;
		}
		priv->sme_i.sme_flag &= ~SME_MULTICAST;
		hostif_mib_set_request(priv, LOCAL_MULTICAST_ADDRESS,
					       (ETH_ALEN * mc_count),
				       ETH_ALEN * mc_count,
				       MIB_VALUE_TYPE_OSTRING,
				       &set_address[0]);
	} else {
			filter_type =
			    cpu_to_le32((uint32_t)MCAST_FILTER_MCAST);
		filter_type = cpu_to_le32((uint32_t)MCAST_FILTER_MCAST);
		priv->sme_i.sme_flag |= SME_MULTICAST;
		hostif_mib_set_request(priv, LOCAL_MULTICAST_FILTER,
					       sizeof(filter_type),
					       MIB_VALUE_TYPE_BOOL,
				       sizeof(filter_type), MIB_VALUE_TYPE_BOOL,
				       &filter_type);
	}
	}

spin_unlock:
	spin_unlock(&priv->multicast_spin);
}