tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-5.10.y
head: 689e89aee55c565fe90fcdf8a7e53f2f976c5946
commit: 62bb46f51f916d25c5ee7178d52baf4a80c5bf55 [4713/5262] usb: dwc2: Fix hibernation
between host and device modes.
config: ia64-randconfig-r004-20210519 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-5.10.y
git checkout 62bb46f51f916d25c5ee7178d52baf4a80c5bf55
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/ia64/include/asm/pgtable.h:154,
from include/linux/pgtable.h:6,
from arch/ia64/include/asm/uaccess.h:40,
from include/linux/uaccess.h:11,
from arch/ia64/include/asm/sections.h:11,
from include/linux/interrupt.h:20,
from drivers/usb/dwc2/core_intr.c:45:
arch/ia64/include/asm/mmu_context.h: In function 'reload_context':
arch/ia64/include/asm/mmu_context.h:137:41: warning: variable 'old_rr4' set but
not used [-Wunused-but-set-variable]
137 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
| ^~~~~~~
drivers/usb/dwc2/core_intr.c: In function 'dwc_handle_gpwrdn_disc_det':
> drivers/usb/dwc2/core_intr.c:710:7: error: 'struct
dwc2_hsotg' has no member named 'bus_suspended'
710 |
hsotg->bus_suspended = 0;
| ^~
vim +710 drivers/usb/dwc2/core_intr.c
662
663 /**
664 * dwc_handle_gpwrdn_disc_det() - Handles the gpwrdn disconnect detect.
665 * Exits hibernation without restoring registers.
666 *
667 * @hsotg: Programming view of DWC_otg controller
668 * @gpwrdn: GPWRDN register
669 */
670 static inline void dwc_handle_gpwrdn_disc_det(struct dwc2_hsotg *hsotg,
671 u32 gpwrdn)
672 {
673 u32 gpwrdn_tmp;
674
675 /* Switch-on voltage to the core */
676 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
677 gpwrdn_tmp &= ~GPWRDN_PWRDNSWTCH;
678 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
679 udelay(5);
680
681 /* Reset core */
682 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
683 gpwrdn_tmp &= ~GPWRDN_PWRDNRSTN;
684 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
685 udelay(5);
686
687 /* Disable Power Down Clamp */
688 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
689 gpwrdn_tmp &= ~GPWRDN_PWRDNCLMP;
690 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
691 udelay(5);
692
693 /* Deassert reset core */
694 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
695 gpwrdn_tmp |= GPWRDN_PWRDNRSTN;
696 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
697 udelay(5);
698
699 /* Disable PMU interrupt */
700 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
701 gpwrdn_tmp &= ~GPWRDN_PMUINTSEL;
702 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
703
704 /* De-assert Wakeup Logic */
705 gpwrdn_tmp = dwc2_readl(hsotg, GPWRDN);
706 gpwrdn_tmp &= ~GPWRDN_PMUACTV;
707 dwc2_writel(hsotg, gpwrdn_tmp, GPWRDN);
708
709 hsotg->hibernated = 0;
710 hsotg->bus_suspended = 0;
711
712 if (gpwrdn & GPWRDN_IDSTS) {
713 hsotg->op_state = OTG_STATE_B_PERIPHERAL;
714 dwc2_core_init(hsotg, false);
715 dwc2_enable_global_interrupts(hsotg);
716 dwc2_hsotg_core_init_disconnected(hsotg, false);
717 dwc2_hsotg_core_connect(hsotg);
718 } else {
719 hsotg->op_state = OTG_STATE_A_HOST;
720
721 /* Initialize the Core for Host mode */
722 dwc2_core_init(hsotg, false);
723 dwc2_enable_global_interrupts(hsotg);
724 dwc2_hcd_start(hsotg);
725 }
726 }
727
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org