qcacld-3.0: Use vtable for rx blocksize
One of the HDD functions with the highest cyclomatic complexity is __wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the complexity there is a plan to replace the inline attribute handling with a vtable-based approach. As part of that goal update the signature of the following function and add that function to the vtable: - wlan_hdd_cfg80211_wifi_set_rx_blocksize() Note that with this change all of the attribute handling in __wlan_hdd_cfg80211_wifi_configuration_set() has been relocated to the vtables. The measured cyclematic complexity was reduced from 103 to 6. Change-Id: If5c3cfea7107f95c07867895a0bc7cc5d13fc7ac CRs-Fixed: 2371594
This commit is contained in:
parent
a2380537f0
commit
339ede8ffe
@ -5526,18 +5526,16 @@ int wlan_hdd_cfg80211_wifi_set_reorder_timeout(struct hdd_adapter *adapter,
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_hdd_cfg80211_wifi_set_rx_blocksize - set rx blocksize
|
||||
*
|
||||
* @hdd_ctx: hdd context
|
||||
* wlan_hdd_cfg80211_wifi_set_rx_blocksize() - set rx blocksize
|
||||
* @adapter: hdd adapter
|
||||
* @tb: array of pointer to struct nlattr
|
||||
*
|
||||
* Return: 0 on success; error number otherwise
|
||||
*/
|
||||
static int wlan_hdd_cfg80211_wifi_set_rx_blocksize(struct hdd_context *hdd_ctx,
|
||||
struct hdd_adapter *adapter,
|
||||
static int wlan_hdd_cfg80211_wifi_set_rx_blocksize(struct hdd_adapter *adapter,
|
||||
struct nlattr *tb[])
|
||||
{
|
||||
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
int ret_val = 0;
|
||||
uint32_t set_value;
|
||||
QDF_STATUS qdf_status;
|
||||
@ -6523,6 +6521,7 @@ static const interdependent_setter_fn interdependent_setters[] = {
|
||||
hdd_config_ant_div_period,
|
||||
hdd_config_ant_div_snr_weight,
|
||||
wlan_hdd_cfg80211_wifi_set_reorder_timeout,
|
||||
wlan_hdd_cfg80211_wifi_set_rx_blocksize,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -6582,7 +6581,6 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
|
||||
struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_CONFIG_MAX + 1];
|
||||
int errno;
|
||||
int ret;
|
||||
int ret_val = 0;
|
||||
|
||||
hdd_enter_dev(dev);
|
||||
|
||||
@ -6609,16 +6607,6 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
|
||||
if (ret)
|
||||
errno = ret;
|
||||
|
||||
/* return errno here when all attributes have been refactored */
|
||||
|
||||
ret_val =
|
||||
wlan_hdd_cfg80211_wifi_set_rx_blocksize(hdd_ctx, adapter, tb);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
|
||||
if (ret_val)
|
||||
errno = ret_val;
|
||||
|
||||
return errno;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user