[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202305250319.A6ppbHdS-lkp@intel.com>
Date: Thu, 25 May 2023 04:07:26 +0800
From: kernel test robot <lkp@...el.com>
To: Prashanth K <quic_prashk@...cinc.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Matthias Brugger <matthias.bgg@...il.com>
Cc: oe-kbuild-all@...ts.linux.dev,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
Prashanth K <quic_prashk@...cinc.com>
Subject: Re: [PATCH v2] usb: common: usb-conn-gpio: Set last role to unknown
before initial detection
Hi Prashanth,
kernel test robot noticed the following build warnings:
[auto build test WARNING on usb/usb-testing]
[also build test WARNING on usb/usb-next usb/usb-linus linus/master v6.4-rc3 next-20230524]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Prashanth-K/usb-common-usb-conn-gpio-Set-last-role-to-unknown-before-initial-detection/20230524-215109
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
patch link: https://lore.kernel.org/r/1684936207-23529-1-git-send-email-quic_prashk%40quicinc.com
patch subject: [PATCH v2] usb: common: usb-conn-gpio: Set last role to unknown before initial detection
config: sparc-allyesconfig
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/263bb2a82451e76309b0c0f4d6f6194dd85954ca
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Prashanth-K/usb-common-usb-conn-gpio-Set-last-role-to-unknown-before-initial-detection/20230524-215109
git checkout 263bb2a82451e76309b0c0f4d6f6194dd85954ca
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 ~/bin/make.cross W=1 O=build_dir ARCH=sparc olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 ~/bin/make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/usb/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305250319.A6ppbHdS-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/usb/cdns3/core.c: In function 'cdns_hw_role_state_machine':
>> drivers/usb/cdns3/core.c:236:9: warning: enumeration value 'USB_ROLE_UNKNOWN' not handled in switch [-Wswitch]
236 | switch (role) {
| ^~~~~~
vim +/USB_ROLE_UNKNOWN +236 drivers/usb/cdns3/core.c
7733f6c32e36ff Pawel Laszczak 2019-08-26 204
7733f6c32e36ff Pawel Laszczak 2019-08-26 205 /**
0b490046d8d7c0 Pawel Laszczak 2020-12-07 206 * cdns_hw_role_state_machine - role switch state machine based on hw events.
7733f6c32e36ff Pawel Laszczak 2019-08-26 207 * @cdns: Pointer to controller structure.
7733f6c32e36ff Pawel Laszczak 2019-08-26 208 *
7733f6c32e36ff Pawel Laszczak 2019-08-26 209 * Returns next role to be entered based on hw events.
7733f6c32e36ff Pawel Laszczak 2019-08-26 210 */
0b490046d8d7c0 Pawel Laszczak 2020-12-07 211 static enum usb_role cdns_hw_role_state_machine(struct cdns *cdns)
7733f6c32e36ff Pawel Laszczak 2019-08-26 212 {
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 213 enum usb_role role = USB_ROLE_NONE;
7733f6c32e36ff Pawel Laszczak 2019-08-26 214 int id, vbus;
7733f6c32e36ff Pawel Laszczak 2019-08-26 215
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 216 if (cdns->dr_mode != USB_DR_MODE_OTG) {
0b490046d8d7c0 Pawel Laszczak 2020-12-07 217 if (cdns_is_host(cdns))
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 218 role = USB_ROLE_HOST;
0b490046d8d7c0 Pawel Laszczak 2020-12-07 219 if (cdns_is_device(cdns))
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 220 role = USB_ROLE_DEVICE;
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 221
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 222 return role;
5c2cf30f14cc39 Pawel Laszczak 2020-07-13 223 }
7733f6c32e36ff Pawel Laszczak 2019-08-26 224
0b490046d8d7c0 Pawel Laszczak 2020-12-07 225 id = cdns_get_id(cdns);
0b490046d8d7c0 Pawel Laszczak 2020-12-07 226 vbus = cdns_get_vbus(cdns);
7733f6c32e36ff Pawel Laszczak 2019-08-26 227
7733f6c32e36ff Pawel Laszczak 2019-08-26 228 /*
7733f6c32e36ff Pawel Laszczak 2019-08-26 229 * Role change state machine
7733f6c32e36ff Pawel Laszczak 2019-08-26 230 * Inputs: ID, VBUS
7733f6c32e36ff Pawel Laszczak 2019-08-26 231 * Previous state: cdns->role
7733f6c32e36ff Pawel Laszczak 2019-08-26 232 * Next state: role
7733f6c32e36ff Pawel Laszczak 2019-08-26 233 */
7733f6c32e36ff Pawel Laszczak 2019-08-26 234 role = cdns->role;
7733f6c32e36ff Pawel Laszczak 2019-08-26 235
7733f6c32e36ff Pawel Laszczak 2019-08-26 @236 switch (role) {
7733f6c32e36ff Pawel Laszczak 2019-08-26 237 case USB_ROLE_NONE:
7733f6c32e36ff Pawel Laszczak 2019-08-26 238 /*
7733f6c32e36ff Pawel Laszczak 2019-08-26 239 * Driver treats USB_ROLE_NONE synonymous to IDLE state from
7733f6c32e36ff Pawel Laszczak 2019-08-26 240 * controller specification.
7733f6c32e36ff Pawel Laszczak 2019-08-26 241 */
7733f6c32e36ff Pawel Laszczak 2019-08-26 242 if (!id)
7733f6c32e36ff Pawel Laszczak 2019-08-26 243 role = USB_ROLE_HOST;
7733f6c32e36ff Pawel Laszczak 2019-08-26 244 else if (vbus)
7733f6c32e36ff Pawel Laszczak 2019-08-26 245 role = USB_ROLE_DEVICE;
7733f6c32e36ff Pawel Laszczak 2019-08-26 246 break;
7733f6c32e36ff Pawel Laszczak 2019-08-26 247 case USB_ROLE_HOST: /* from HOST, we can only change to NONE */
7733f6c32e36ff Pawel Laszczak 2019-08-26 248 if (id)
7733f6c32e36ff Pawel Laszczak 2019-08-26 249 role = USB_ROLE_NONE;
7733f6c32e36ff Pawel Laszczak 2019-08-26 250 break;
7733f6c32e36ff Pawel Laszczak 2019-08-26 251 case USB_ROLE_DEVICE: /* from GADGET, we can only change to NONE*/
7733f6c32e36ff Pawel Laszczak 2019-08-26 252 if (!vbus)
7733f6c32e36ff Pawel Laszczak 2019-08-26 253 role = USB_ROLE_NONE;
7733f6c32e36ff Pawel Laszczak 2019-08-26 254 break;
7733f6c32e36ff Pawel Laszczak 2019-08-26 255 }
7733f6c32e36ff Pawel Laszczak 2019-08-26 256
7733f6c32e36ff Pawel Laszczak 2019-08-26 257 dev_dbg(cdns->dev, "role %d -> %d\n", cdns->role, role);
7733f6c32e36ff Pawel Laszczak 2019-08-26 258
7733f6c32e36ff Pawel Laszczak 2019-08-26 259 return role;
7733f6c32e36ff Pawel Laszczak 2019-08-26 260 }
7733f6c32e36ff Pawel Laszczak 2019-08-26 261
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
View attachment "config" of type "text/plain" (330171 bytes)
Powered by blists - more mailing lists