Hi Neil,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Neil-Armstrong/ASoC-dt-bindin... base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next patch link: https://lore.kernel.org/r/20231201-topic-sm8650-upstream-wcd939x-codec-v2-5-... patch subject: [PATCH v2 5/5] ASoC: codecs: Add WCD939x Codec driver config: powerpc64-randconfig-r081-20231204 (https://download.01.org/0day-ci/archive/20231206/202312060127.FLhplIP3-lkp@i...) compiler: powerpc64-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231206/202312060127.FLhplIP3-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Reported-by: Dan Carpenter dan.carpenter@linaro.org | Closes: https://lore.kernel.org/r/202312060127.FLhplIP3-lkp@intel.com/
New smatch warnings: sound/soc/codecs/wcd939x.c:3168 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3221 wcd939x_swap_gnd_mic() warn: signedness bug returning '(-22)'
Old smatch warnings: sound/soc/codecs/wcd939x.c:3170 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3173 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3174 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3176 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3177 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR() sound/soc/codecs/wcd939x.c:3179 wcd939x_typec_mux_set() error: 'wcd939x' dereferencing possible ERR_PTR()
vim +/wcd939x +3168 sound/soc/codecs/wcd939x.c
6c302e2f95b1d1 Neil Armstrong 2023-12-01 3164 static int wcd939x_typec_mux_set(struct typec_mux_dev *mux, 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3165 struct typec_mux_state *state) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3166 { 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3167 struct wcd939x_priv *wcd939x = typec_mux_get_drvdata(mux); 6c302e2f95b1d1 Neil Armstrong 2023-12-01 @3168 unsigned int previous_mode = wcd939x->typec_mode;
The Kconfig should probably depend on CONFIG_TYPEC to avoid a crash here.
6c302e2f95b1d1 Neil Armstrong 2023-12-01 3169 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3170 if (!wcd939x->wcd_mbhc) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3171 return -EINVAL; 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3172 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3173 if (wcd939x->typec_mode != state->mode) { 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3174 wcd939x->typec_mode = state->mode; 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3175 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3176 if (wcd939x->typec_mode == TYPEC_MODE_AUDIO) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3177 return wcd_mbhc_typec_report_plug(wcd939x->wcd_mbhc); 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3178 else if (previous_mode == TYPEC_MODE_AUDIO) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3179 return wcd_mbhc_typec_report_unplug(wcd939x->wcd_mbhc); 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3180 } 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3181 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3182 return 0; 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3183 }
[ snip ]
6c302e2f95b1d1 Neil Armstrong 2023-12-01 3216 static bool wcd939x_swap_gnd_mic(struct snd_soc_component *component, bool active) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3217 { 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3218 struct wcd939x_priv *wcd939x = snd_soc_component_get_drvdata(component); 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3219 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3220 if (!wcd939x->typec_analog_mux || !wcd939x->typec_switch) 6c302e2f95b1d1 Neil Armstrong 2023-12-01 @3221 return -EINVAL;
This is type bool. return false?
6c302e2f95b1d1 Neil Armstrong 2023-12-01 3222 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3223 /* Report inversion via Type Switch of USBSS */ 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3224 return typec_switch_set(wcd939x->typec_switch, 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3225 wcd939x->typec_orientation == TYPEC_ORIENTATION_REVERSE ? 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3226 TYPEC_ORIENTATION_NORMAL : TYPEC_ORIENTATION_REVERSE); 6c302e2f95b1d1 Neil Armstrong 2023-12-01 3227 }