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: Tobin C. Harding <me@tobin.cc> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1e0aa795da
commit
eb8c4e5469
@ -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) ||
|
||||
(dev->flags & IFF_ALLMULTI)) {
|
||||
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 {
|
||||
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);
|
||||
i++;
|
||||
}
|
||||
priv->sme_i.sme_flag &= ~SME_MULTICAST;
|
||||
hostif_mib_set_request(priv, LOCAL_MULTICAST_ADDRESS,
|
||||
(ETH_ALEN * mc_count),
|
||||
MIB_VALUE_TYPE_OSTRING,
|
||||
&set_address[0]);
|
||||
} else {
|
||||
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,
|
||||
&filter_type);
|
||||
}
|
||||
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);
|
||||
i++;
|
||||
}
|
||||
priv->sme_i.sme_flag &= ~SME_MULTICAST;
|
||||
hostif_mib_set_request(priv, LOCAL_MULTICAST_ADDRESS,
|
||||
ETH_ALEN * mc_count,
|
||||
MIB_VALUE_TYPE_OSTRING,
|
||||
&set_address[0]);
|
||||
} else {
|
||||
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,
|
||||
&filter_type);
|
||||
}
|
||||
|
||||
spin_unlock:
|
||||
spin_unlock(&priv->multicast_spin);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user