cfg80211: regulatory: remove a bogus initialization
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 23 Sep 2020 08:42:03 +0000 (11:42 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 28 Sep 2020 12:20:58 +0000 (14:20 +0200)
commit735b2673941ec22ae866216db32bb553fec42aeb
tree20182c2e3d7f14c09d3c8432a84a3b0501e587e2
parente3f25908b0b2e7e1d04d35ce46c9b9d4e4519b43
cfg80211: regulatory: remove a bogus initialization

The the __freq_reg_info() never returns NULL and the callers don't check
for NULL.  This initialization to set "reg_rule = NULL;" is just there
to make GCC happy but it's not required in current GCCs.

The problem is that Smatch sees the initialization and concludes that
this function can return NULL so it complains that the callers are not
checking for it.

Smatch used to be able to parse this correctly but we recently changed
the code from:

-       for (bw = MHZ_TO_KHZ(20); bw >= min_bw; bw = bw / 2) {
+       for (bw = MHZ_TO_KHZ(bws[i]); bw >= min_bw; bw = MHZ_TO_KHZ(bws[i--])) {

Originally Smatch used to understand that this code always iterates
through the loop once, but the change from "MHZ_TO_KHZ(20)" to
"MHZ_TO_KHZ(bws[i])" is too complicated for Smatch.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200923084203.GC1454948@mwanda
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/reg.c