Re: [PATCH 14/20] ACPICA: executer/exsystem: Inform users about ACPI spec violation

From: Rafael J. Wysocki
Date: Tue Apr 12 2022 - 09:04:48 EST


On Tue, Apr 12, 2022 at 4:54 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> Hi "Rafael,
>
> Thank you for the patch! Yet something to improve:

This is addressed by one of the subsequent patches in the series.

> [auto build test ERROR on rafael-pm/linux-next]
> [also build test ERROR on linus/master linux/master v5.18-rc2 next-20220411]
> [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]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Rafael-J-Wysocki/ACPICA-ACPICA-20220331/20220412-030922
> base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
> config: i386-randconfig-a006-20220411 (https://download.01.org/0day-ci/archive/20220412/202204121052.HOrN6tpw-lkp@xxxxxxxxx/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project fe2478d44e4f7f191c43fef629ac7a23d0251e72)
> 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/intel-lab-lkp/linux/commit/5cdc6166cc35043a80f5f328d6e6b58190c4e46c
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Rafael-J-Wysocki/ACPICA-ACPICA-20220331/20220412-030922
> git checkout 5cdc6166cc35043a80f5f328d6e6b58190c4e46c
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> Note: the linux-review/Rafael-J-Wysocki/ACPICA-ACPICA-20220331/20220412-030922 HEAD 32181ae3d3173aeee41f709612dfa4d52951b39d builds fine.
> It only hurts bisectability.
>
> All errors (new ones prefixed by >>):
>
> >> drivers/acpi/acpica/exsystem.c:140:7: error: use of undeclared identifier 'how_long_US'; did you mean 'how_long_us'?
> if (how_long_US > 100) {
> ^~~~~~~~~~~
> how_long_us
> drivers/acpi/acpica/exsystem.c:123:41: note: 'how_long_us' declared here
> acpi_status acpi_ex_system_do_stall(u32 how_long_us)
> ^
> 1 error generated.
>
>
> vim +140 drivers/acpi/acpica/exsystem.c
>
> 105
> 106 /*******************************************************************************
> 107 *
> 108 * FUNCTION: acpi_ex_system_do_stall
> 109 *
> 110 * PARAMETERS: how_long_us - The amount of time to stall,
> 111 * in microseconds
> 112 *
> 113 * RETURN: Status
> 114 *
> 115 * DESCRIPTION: Suspend running thread for specified amount of time.
> 116 * Note: ACPI specification requires that Stall() does not
> 117 * relinquish the processor, and delays longer than 100 usec
> 118 * should use Sleep() instead. We allow stalls up to 255 usec
> 119 * for compatibility with other interpreters and existing BIOSs.
> 120 *
> 121 ******************************************************************************/
> 122
> 123 acpi_status acpi_ex_system_do_stall(u32 how_long_us)
> 124 {
> 125 acpi_status status = AE_OK;
> 126
> 127 ACPI_FUNCTION_ENTRY();
> 128
> 129 if (how_long_us > 255) {
> 130 /*
> 131 * Longer than 255 microseconds, this is an error
> 132 *
> 133 * (ACPI specifies 100 usec as max, but this gives some slack in
> 134 * order to support existing BIOSs)
> 135 */
> 136 ACPI_ERROR((AE_INFO,
> 137 "Time parameter is too large (%u)", how_long_us));
> 138 status = AE_AML_OPERAND_VALUE;
> 139 } else {
> > 140 if (how_long_US > 100) {
> 141 ACPI_WARNING((AE_INFO,
> 142 "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.",
> 143 how_long_us));
> 144 }
> 145 acpi_os_stall(how_long_us);
> 146 }
> 147
> 148 return (status);
> 149 }
> 150
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp