Package: sl-modem-dkms
Version: 2.9.11~20110321-17
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts


1.) There is an autopkgtest regression with the -cloud kernel,
preventing migration to testing (therefore severity serious):

https://ci.debian.net/data/autopkgtest/testing/amd64/s/sl-modem/34615715/log.gz

DKMS make.log for sl-modem-2.9.11~20110321 for kernel 6.1.0-9-cloud-amd64 
(x86_64)
Mon Jun 19 06:58:35 UTC 2023
make: Entering directory '/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers'
        obj-m= slusb.o 
        slamr-objs=amrmo_init.o sysdep_amr.o amrlibs.o
make modules -C /lib/modules/6.1.0-9-cloud-amd64/build 
M=/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-9-cloud-amd64'
  CC [M]  /var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.o
  LD [M]  /var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.o
  MODPOST /var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/Module.symvers
ERROR: modpost: "usb_alloc_urb" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_free_urb" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_register_driver" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_clear_halt" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_submit_urb" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_control_msg" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_set_interface" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_deregister" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
ERROR: modpost: "usb_unlink_urb" 
[/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/slusb.ko] undefined!
make[2]: *** 
[/usr/src/linux-headers-6.1.0-9-common/scripts/Makefile.modpost:126: 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/Module.symvers] Error 1
make[1]: *** [/usr/src/linux-headers-6.1.0-9-common/Makefile:1989: modpost] 
Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-9-cloud-amd64'
make: *** [Makefile:138: all] Error 2
make: Leaving directory '/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers'
make: Entering directory 
'/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem'
make modules -C /lib/modules/6.1.0-9-cloud-amd64/build 
M=/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-9-cloud-amd64'
  CC [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.o
  MODPOST 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/Module.symvers
  CC [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.mod.o
  LD [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko
  BTF [M] 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko
Skipping BTF generation for 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko 
due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-9-cloud-amd64'
make: Leaving directory 
'/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem'

You probably need to add this line to your dkms.conf:

        BUILD_EXCLUSIVE_CONFIG="CONFIG_USB"

in order to skip building the module for kernels without CONFIG_USB.

============================================================================

2.) the module fails to build for Linux 6.4

DKMS make.log for sl-modem-2.9.11~20110321 for kernel 6.4.0-0-amd64 (x86_64)
Tue Jun 27 10:00:31 UTC 2023
make: Entering directory '/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers'
        obj-m= slusb.o
        slamr-objs=amrmo_init.o sysdep_amr.o amrlibs.o
make modules -C /lib/modules/6.4.0-0-amd64/build 
M=/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers
make[1]: Entering directory '/usr/src/linux-headers-6.4.0-0-amd64'
  CC [M]  /var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.o
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:243:33: error: 
macro "DEFINE_SEMAPHORE" requires 2 arguments, but only 1 given
  243 | static DEFINE_SEMAPHORE(open_sem);
      |                                 ^
In file included from 
/usr/src/linux-headers-6.4.0-0-common/include/linux/fs.h:25,
                 from 
/usr/src/linux-headers-6.4.0-0-common/include/linux/poll.h:10,
                 from 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:55:
/usr/src/linux-headers-6.4.0-0-common/include/linux/semaphore.h:34: note: macro 
"DEFINE_SEMAPHORE" defined here
   34 | #define DEFINE_SEMAPHORE(_name, _n)     \
      |
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:243:8: error: 
type defaults to 'int' in declaration of 'DEFINE_SEMAPHORE' 
[-Werror=implicit-int]
  243 | static DEFINE_SEMAPHORE(open_sem);
      |        ^~~~~~~~~~~~~~~~
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c: In function 
'st7554_open':
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1009:15: error: 
'open_sem' undeclared (first use in this function); did you mean 'open_exec'?
 1009 |         down(&open_sem);
      |               ^~~~~~~~
      |               open_exec
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1009:15: note: 
each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c: In function 
'st7554_probe':
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1332:15: error: 
'open_sem' undeclared (first use in this function); did you mean 'open_exec'?
 1332 |         down(&open_sem);
      |               ^~~~~~~~
      |               open_exec
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c: In function 
'st7554_disconnect':
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1379:15: error: 
'open_sem' undeclared (first use in this function); did you mean 'open_exec'?
 1379 |         down(&open_sem);
      |               ^~~~~~~~
      |               open_exec
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c: In function 
'st7554_modem_init':
/usr/src/linux-headers-6.4.0-0-common/include/linux/export.h:27:22: error: 
passing argument 1 of 'class_create' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
   27 | #define THIS_MODULE (&__this_module)
      |                     ~^~~~~~~~~~~~~~~
      |                      |
      |                      struct module *
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:236:48: note: in 
definition of macro 'CLASS_CREATE'
  236 | #define CLASS_CREATE(owner, name) class_create(owner, name)
      |                                                ^~~~~
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1409:37: note: in 
expansion of macro 'THIS_MODULE'
 1409 |         st7554_class = CLASS_CREATE(THIS_MODULE, "slusb");
      |                                     ^~~~~~~~~~~
In file included from 
/usr/src/linux-headers-6.4.0-0-common/include/linux/device.h:31,
                 from 
/usr/src/linux-headers-6.4.0-0-common/include/linux/usb.h:19,
                 from 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:56:
/usr/src/linux-headers-6.4.0-0-common/include/linux/device/class.h:230:54: 
note: expected 'const char *' but argument is of type 'struct module *'
  230 | struct class * __must_check class_create(const char *name);
      |                                          ~~~~~~~~~~~~^~~~
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:236:35: error: 
too many arguments to function 'class_create'
  236 | #define CLASS_CREATE(owner, name) class_create(owner, name)
      |                                   ^~~~~~~~~~~~
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:1409:24: note: in 
expansion of macro 'CLASS_CREATE'
 1409 |         st7554_class = CLASS_CREATE(THIS_MODULE, "slusb");
      |                        ^~~~~~~~~~~~
/usr/src/linux-headers-6.4.0-0-common/include/linux/device/class.h:230:29: 
note: declared here
  230 | struct class * __must_check class_create(const char *name);
      |                             ^~~~~~~~~~~~
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c: At top level:
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.c:243:8: warning: 
'DEFINE_SEMAPHORE' defined but not used [-Wunused-variable]
  243 | static DEFINE_SEMAPHORE(open_sem);
      |        ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.4.0-0-common/scripts/Makefile.build:257: 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers/st7554.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.4.0-0-common/Makefile:2051: 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.4.0-0-amd64'
make: *** [Makefile:138: all] Error 2
make: Leaving directory '/var/lib/dkms/sl-modem/2.9.11~20110321/build/drivers'
make: Entering directory 
'/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem'
make modules -C /lib/modules/6.4.0-0-amd64/build 
M=/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem
make[1]: Entering directory '/usr/src/linux-headers-6.4.0-0-amd64'
  CC [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.o
  MODPOST 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/Module.symvers
  CC [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.mod.o
  LD [M]  
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko
  BTF [M] 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko
Skipping BTF generation for 
/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem/ungrab-winmodem.ko 
due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-6.4.0-0-amd64'
make: Leaving directory 
'/var/lib/dkms/sl-modem/2.9.11~20110321/build/ungrab-winmodem'


For the class_create change (upstream commit
1aaba11da9aa7d7d6b52a74d45b31cac118295a1 "driver core: class: remove
module * from class_create()"), the fix would be something like

        +#if LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0)
               nvfs_class = class_create(THIS_MODULE, CLASS_NAME);
        +#else
        +      nvfs_class = class_create(CLASS_NAME);
        +#endif

Andreas

Reply via email to