gnif / vendor-reset

Linux kernel vendor specific hardware reset module for sequences that are too complex/complicated to land in pci_quirks.c
GNU General Public License v2.0
764 stars 65 forks source link

Compile fails on 5.18 kernel (Fedora 36) #61

Closed dev-sda1 closed 2 years ago

dev-sda1 commented 2 years ago

Attempted build via DKMS on Fedora 36 with 5.18 kernel and it results in the following error output:

[james@fedora vendor-reset]$ sudo dkms install .
EFI variables are not supported on this system
Sign command: /lib/modules/5.18.10-200.fc36.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...
Creating symlink /var/lib/dkms/vendor-reset/0.1.1/source -> /usr/src/vendor-reset-0.1.1

Building module:
Cleaning build area...
make -j4 KERNELRELEASE=5.18.10-200.fc36.x86_64 KDIR=/lib/modules/5.18.10-200.fc36.x86_64/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.18.10-200.fc36.x86_64 (x86_64)
Consult /var/lib/dkms/vendor-reset/0.1.1/build/make.log for more information.

make.log:

DKMS make.log for vendor-reset-0.1.1 for kernel 5.18.10-200.fc36.x86_64 (x86_64)
Sun 10 Jul 17:35:29 BST 2022
make -C /lib/modules/5.18.10-200.fc36.x86_64/build M=/var/lib/dkms/vendor-reset/0.1.1/build modules
make[1]: Entering directory '/usr/src/kernels/5.18.10-200.fc36.x86_64'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 12.0.1 20220413 (Red Hat 12.0.1-0)
  You are using:           gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1)
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/module.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/vendor-reset-dev.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/ioctl.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/ftrace.o
/var/lib/dkms/vendor-reset/0.1.1/build/src/ftrace.c: In function ‘fh_trace_thunk’:
/var/lib/dkms/vendor-reset/0.1.1/build/src/ftrace.c:61:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   61 |   struct ftrace_hook *hook = to_ftrace_hook(ops);
      |   ^~~~~~
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/hook.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/common.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/compat.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/firmware.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/navi10.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/vega10.o
  CC [M]  /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/vega20.o
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c: In function ‘amd_polaris10_reset’:
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:121:7: error: label ‘unhang’ used but not defined
  121 |       goto unhang;
      |       ^~~~
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:109:5: error: label ‘free_adev’ used but not defined
  109 |     goto free_adev;
      |     ^~~~
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c: At top level:
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:133:3: error: expected identifier or ‘(’ before ‘else’
  133 |   else
      |   ^~~~
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:141:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
  141 | unhang:
      |       ^
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:144:10: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
  144 | free_adev:
      |          ^
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:146:3: error: expected identifier or ‘(’ before ‘return’
  146 |   return ret;
      |   ^~~~~~
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:147:1: error: expected identifier or ‘(’ before ‘}’ token
  147 | }
      | ^
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c: In function ‘amd_polaris10_reset’:
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:132:3: error: control reaches end of non-void function [-Werror=return-type]
  132 |   }
      |   ^
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c: At top level:
/var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.c:55:12: warning: ‘vi_gpu_pci_config_reset’ defined but not used [-Wunused-function]
   55 | static int vi_gpu_pci_config_reset(struct amd_fake_dev *adev)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/vendor-reset/0.1.1/build/src/amd/polaris10.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1841: /var/lib/dkms/vendor-reset/0.1.1/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.18.10-200.fc36.x86_64'
make: *** [Makefile:8: build] Error 2
alyssais commented 2 years ago

https://github.com/gnif/vendor-reset/pull/58