On Wed, 2016-08-31 at 13:50 +0200, Christophe JAILLET wrote: > This patch: > - improves code layout > - removes a useless memset(0) for some memory allocated with kzalloc > - removes a useless if. We know that 'if (chan_band_tlv)' will succeed > because it has been tested a few lines above True, the code above it is also confusing as it's #ifdef CONFIG_PM if (priv->wdev.wiphy->wowlan_config) nd_config = priv->wdev.wiphy->wowlan_config->nd_config; #endif if (nd_config) { adapter->nd_info = kzalloc(sizeof(struct cfg80211_wowlan_nd_match) + sizeof(struct cfg80211_wowlan_nd_match *) * scan_rsp->number_of_sets, GFP_ATOMIC); if (adapter->nd_info) adapter->nd_info->n_matches = scan_rsp->number_of_sets; } where nd_config is a pointer already initialized to NULL so the #endif seems misplaced. > diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c [] > @@ -2179,18 +2179,14 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv, > > if (chan_band_tlv && adapter->nd_info) { > adapter->nd_info->matches[idx] = > - kzalloc(sizeof(*pmatch) + > - sizeof(u32), GFP_ATOMIC); > + kzalloc(sizeof(*pmatch) + sizeof(u32), > + GFP_ATOMIC); > > pmatch = adapter->nd_info->matches[idx]; > > if (pmatch) { > - memset(pmatch, 0, sizeof(*pmatch)); > - if (chan_band_tlv) { > - pmatch->n_channels = 1; > - pmatch->channels[0] = > - chan_band->chan_number; > - } > + pmatch->n_channels = 1; > + pmatch->channels[0] = chan_band->chan_number; > } > } Maybe it'd be better to move the pmatch declaration to this block and alloc to pmatch then assign adapter->nd_info->matches[idx] later. I think the #ifdef CONFIG_PM use in this routine is incomplete.