In commit 221abd4d478a ("staging: r8188eu: Remove no more necessary definitions and code"), two entries were removed from RTW_ChannelPlanMap[], but not replaced with zeros. The position within this table is important, thus the patch broke systems operating in regulatory domains listed later than entry 0x13 in the table. Unfortunately, the FCC entry comes before that point and most testers did not see this problem.
Reported-and-tested-by: Zameer Manji zmanji@gmail.com Fixes: 221abd4d478a ("staging: r8188eu: Remove no more necessary definitions and code") Cc: Stable stable@vger.kernel.org # v5.5+ Signed-off-by: Larry Finger Larry.Finger@lwfinger.net --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 55c3d4a6faeb..d3814174e08f 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -107,6 +107,7 @@ static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { {0x01}, /* 0x10, RT_CHANNEL_DOMAIN_JAPAN */ {0x02}, /* 0x11, RT_CHANNEL_DOMAIN_FCC_NO_DFS */ {0x01}, /* 0x12, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */ + (0x00), /* 0x13 */ {0x02}, /* 0x14, RT_CHANNEL_DOMAIN_TAIWAN_NO_DFS */ {0x00}, /* 0x15, RT_CHANNEL_DOMAIN_ETSI_NO_DFS */ {0x00}, /* 0x16, RT_CHANNEL_DOMAIN_KOREA_NO_DFS */ @@ -118,6 +119,7 @@ static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { {0x00}, /* 0x1C, */ {0x00}, /* 0x1D, */ {0x00}, /* 0x1E, */ + {0x00}, /* 0x1F, */ /* 0x20 ~ 0x7F , New Define ===== */ {0x00}, /* 0x20, RT_CHANNEL_DOMAIN_WORLD_NULL */ {0x01}, /* 0x21, RT_CHANNEL_DOMAIN_ETSI1_NULL */
Hi Larry,
I love your patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Larry-Finger/staging-r8188eu-Fix-br... base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 8a90ee69bff5d56d90c8a9d69d681df877a1cb74 config: arc-allyesconfig (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b5e75775a102e1ec51c22a11b4f159359c2e... git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Larry-Finger/staging-r8188eu-Fix-breakage-introduced-when-5G-code-was-removed/20211107-093954 git checkout b5e75775a102e1ec51c22a11b4f159359c2ef9cf # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot lkp@intel.com
All errors (new ones prefixed by >>):
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { }
drivers/staging/r8188eu/core/rtw_mlme_ext.c:89:85: error: missing braces around initializer [-Werror=missing-braces]
89 | static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { | ^ ...... 110 | (0x00), /* 0x13 */ | { } cc1: all warnings being treated as errors
vim +89 drivers/staging/r8188eu/core/rtw_mlme_ext.c
15865124feed8809 Phillip Potter 2021-07-28 88 15865124feed8809 Phillip Potter 2021-07-28 @89 static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { 15865124feed8809 Phillip Potter 2021-07-28 90 /* 0x00 ~ 0x1F , Old Define ===== */ 15865124feed8809 Phillip Potter 2021-07-28 91 {0x02}, /* 0x00, RT_CHANNEL_DOMAIN_FCC */ 15865124feed8809 Phillip Potter 2021-07-28 92 {0x02}, /* 0x01, RT_CHANNEL_DOMAIN_IC */ 15865124feed8809 Phillip Potter 2021-07-28 93 {0x01}, /* 0x02, RT_CHANNEL_DOMAIN_ETSI */ 15865124feed8809 Phillip Potter 2021-07-28 94 {0x01}, /* 0x03, RT_CHANNEL_DOMAIN_SPAIN */ 15865124feed8809 Phillip Potter 2021-07-28 95 {0x01}, /* 0x04, RT_CHANNEL_DOMAIN_FRANCE */ 15865124feed8809 Phillip Potter 2021-07-28 96 {0x03}, /* 0x05, RT_CHANNEL_DOMAIN_MKK */ 15865124feed8809 Phillip Potter 2021-07-28 97 {0x03}, /* 0x06, RT_CHANNEL_DOMAIN_MKK1 */ 15865124feed8809 Phillip Potter 2021-07-28 98 {0x01}, /* 0x07, RT_CHANNEL_DOMAIN_ISRAEL */ 15865124feed8809 Phillip Potter 2021-07-28 99 {0x03}, /* 0x08, RT_CHANNEL_DOMAIN_TELEC */ 15865124feed8809 Phillip Potter 2021-07-28 100 {0x03}, /* 0x09, RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN */ 15865124feed8809 Phillip Potter 2021-07-28 101 {0x00}, /* 0x0A, RT_CHANNEL_DOMAIN_WORLD_WIDE_13 */ 15865124feed8809 Phillip Potter 2021-07-28 102 {0x02}, /* 0x0B, RT_CHANNEL_DOMAIN_TAIWAN */ 15865124feed8809 Phillip Potter 2021-07-28 103 {0x01}, /* 0x0C, RT_CHANNEL_DOMAIN_CHINA */ 15865124feed8809 Phillip Potter 2021-07-28 104 {0x02}, /* 0x0D, RT_CHANNEL_DOMAIN_SINGAPORE_INDIA_MEXICO */ 15865124feed8809 Phillip Potter 2021-07-28 105 {0x02}, /* 0x0E, RT_CHANNEL_DOMAIN_KOREA */ 15865124feed8809 Phillip Potter 2021-07-28 106 {0x02}, /* 0x0F, RT_CHANNEL_DOMAIN_TURKEY */ 15865124feed8809 Phillip Potter 2021-07-28 107 {0x01}, /* 0x10, RT_CHANNEL_DOMAIN_JAPAN */ 15865124feed8809 Phillip Potter 2021-07-28 108 {0x02}, /* 0x11, RT_CHANNEL_DOMAIN_FCC_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 109 {0x01}, /* 0x12, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */ b5e75775a102e1ec Larry Finger 2021-11-06 110 (0x00), /* 0x13 */ 15865124feed8809 Phillip Potter 2021-07-28 111 {0x02}, /* 0x14, RT_CHANNEL_DOMAIN_TAIWAN_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 112 {0x00}, /* 0x15, RT_CHANNEL_DOMAIN_ETSI_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 113 {0x00}, /* 0x16, RT_CHANNEL_DOMAIN_KOREA_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 114 {0x03}, /* 0x17, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 115 {0x05}, /* 0x18, RT_CHANNEL_DOMAIN_PAKISTAN_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 116 {0x02}, /* 0x19, RT_CHANNEL_DOMAIN_TAIWAN2_NO_DFS */ 15865124feed8809 Phillip Potter 2021-07-28 117 {0x00}, /* 0x1A, */ 15865124feed8809 Phillip Potter 2021-07-28 118 {0x00}, /* 0x1B, */ 15865124feed8809 Phillip Potter 2021-07-28 119 {0x00}, /* 0x1C, */ 15865124feed8809 Phillip Potter 2021-07-28 120 {0x00}, /* 0x1D, */ 15865124feed8809 Phillip Potter 2021-07-28 121 {0x00}, /* 0x1E, */ b5e75775a102e1ec Larry Finger 2021-11-06 122 {0x00}, /* 0x1F, */ 15865124feed8809 Phillip Potter 2021-07-28 123 /* 0x20 ~ 0x7F , New Define ===== */ 15865124feed8809 Phillip Potter 2021-07-28 124 {0x00}, /* 0x20, RT_CHANNEL_DOMAIN_WORLD_NULL */ 15865124feed8809 Phillip Potter 2021-07-28 125 {0x01}, /* 0x21, RT_CHANNEL_DOMAIN_ETSI1_NULL */ 15865124feed8809 Phillip Potter 2021-07-28 126 {0x02}, /* 0x22, RT_CHANNEL_DOMAIN_FCC1_NULL */ 15865124feed8809 Phillip Potter 2021-07-28 127 {0x03}, /* 0x23, RT_CHANNEL_DOMAIN_MKK1_NULL */ 15865124feed8809 Phillip Potter 2021-07-28 128 {0x04}, /* 0x24, RT_CHANNEL_DOMAIN_ETSI2_NULL */ 15865124feed8809 Phillip Potter 2021-07-28 129 {0x02}, /* 0x25, RT_CHANNEL_DOMAIN_FCC1_FCC1 */ 15865124feed8809 Phillip Potter 2021-07-28 130 {0x00}, /* 0x26, RT_CHANNEL_DOMAIN_WORLD_ETSI1 */ 15865124feed8809 Phillip Potter 2021-07-28 131 {0x03}, /* 0x27, RT_CHANNEL_DOMAIN_MKK1_MKK1 */ 15865124feed8809 Phillip Potter 2021-07-28 132 {0x00}, /* 0x28, RT_CHANNEL_DOMAIN_WORLD_KCC1 */ 15865124feed8809 Phillip Potter 2021-07-28 133 {0x00}, /* 0x29, RT_CHANNEL_DOMAIN_WORLD_FCC2 */ 15865124feed8809 Phillip Potter 2021-07-28 134 {0x00}, /* 0x2A, */ 15865124feed8809 Phillip Potter 2021-07-28 135 {0x00}, /* 0x2B, */ 15865124feed8809 Phillip Potter 2021-07-28 136 {0x00}, /* 0x2C, */ 15865124feed8809 Phillip Potter 2021-07-28 137 {0x00}, /* 0x2D, */ 15865124feed8809 Phillip Potter 2021-07-28 138 {0x00}, /* 0x2E, */ 15865124feed8809 Phillip Potter 2021-07-28 139 {0x00}, /* 0x2F, */ 15865124feed8809 Phillip Potter 2021-07-28 140 {0x00}, /* 0x30, RT_CHANNEL_DOMAIN_WORLD_FCC3 */ 15865124feed8809 Phillip Potter 2021-07-28 141 {0x00}, /* 0x31, RT_CHANNEL_DOMAIN_WORLD_FCC4 */ 15865124feed8809 Phillip Potter 2021-07-28 142 {0x00}, /* 0x32, RT_CHANNEL_DOMAIN_WORLD_FCC5 */ 15865124feed8809 Phillip Potter 2021-07-28 143 {0x00}, /* 0x33, RT_CHANNEL_DOMAIN_WORLD_FCC6 */ 15865124feed8809 Phillip Potter 2021-07-28 144 {0x02}, /* 0x34, RT_CHANNEL_DOMAIN_FCC1_FCC7 */ 15865124feed8809 Phillip Potter 2021-07-28 145 {0x00}, /* 0x35, RT_CHANNEL_DOMAIN_WORLD_ETSI2 */ 15865124feed8809 Phillip Potter 2021-07-28 146 {0x00}, /* 0x36, RT_CHANNEL_DOMAIN_WORLD_ETSI3 */ 15865124feed8809 Phillip Potter 2021-07-28 147 {0x03}, /* 0x37, RT_CHANNEL_DOMAIN_MKK1_MKK2 */ 15865124feed8809 Phillip Potter 2021-07-28 148 {0x03}, /* 0x38, RT_CHANNEL_DOMAIN_MKK1_MKK3 */ 15865124feed8809 Phillip Potter 2021-07-28 149 {0x02}, /* 0x39, RT_CHANNEL_DOMAIN_FCC1_NCC1 */ 15865124feed8809 Phillip Potter 2021-07-28 150 {0x00}, /* 0x3A, */ 15865124feed8809 Phillip Potter 2021-07-28 151 {0x00}, /* 0x3B, */ 15865124feed8809 Phillip Potter 2021-07-28 152 {0x00}, /* 0x3C, */ 15865124feed8809 Phillip Potter 2021-07-28 153 {0x00}, /* 0x3D, */ 15865124feed8809 Phillip Potter 2021-07-28 154 {0x00}, /* 0x3E, */ 15865124feed8809 Phillip Potter 2021-07-28 155 {0x00}, /* 0x3F, */ 15865124feed8809 Phillip Potter 2021-07-28 156 {0x02}, /* 0x40, RT_CHANNEL_DOMAIN_FCC1_NCC2 */ 15865124feed8809 Phillip Potter 2021-07-28 157 {0x03}, /* 0x41, RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN_2G */ 15865124feed8809 Phillip Potter 2021-07-28 158 }; 15865124feed8809 Phillip Potter 2021-07-28 159
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On Sat, Nov 06, 2021 at 08:31:23PM -0500, Larry Finger wrote:
In commit 221abd4d478a ("staging: r8188eu: Remove no more necessary definitions and code"), two entries were removed from RTW_ChannelPlanMap[], but not replaced with zeros. The position within this table is important, thus the patch broke systems operating in regulatory domains listed later than entry 0x13 in the table. Unfortunately, the FCC entry comes before that point and most testers did not see this problem.
Reported-and-tested-by: Zameer Manji zmanji@gmail.com Fixes: 221abd4d478a ("staging: r8188eu: Remove no more necessary definitions and code") Cc: Stable stable@vger.kernel.org # v5.5+ Signed-off-by: Larry Finger Larry.Finger@lwfinger.net
drivers/staging/r8188eu/core/rtw_mlme_ext.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 55c3d4a6faeb..d3814174e08f 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -107,6 +107,7 @@ static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = { {0x01}, /* 0x10, RT_CHANNEL_DOMAIN_JAPAN */ {0x02}, /* 0x11, RT_CHANNEL_DOMAIN_FCC_NO_DFS */ {0x01}, /* 0x12, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */
- (0x00), /* 0x13 */
I don't think you test-built this :(
linux-stable-mirror@lists.linaro.org