If elilo boots a generic kernel and you upgraded the kernel, then eliloconfig will copy the new generic kernel over the old one, but it will not re-generate the initrd. So you end up with a new kernel and an old initrd which lacks the modules for the new kernel.
Running eliloconfig is something I recommend only for new installations. If you want to be really safe, your boot menu should always list one kernel that is known to work. You can manually add a new kernel and matchinf initrd to elilo.conf after you have manually generated a new initrd file.
The way I generate my initrd, say for kernel 5.10.14, after installing the kernel-modules package:
Code:
KERNELVERSION=5.10.14 ; /usr/share/mkinitrd/initrd_command_generator.sh -r -k $KERNELVERSION -a "-o /boot/efi/EFI/Slackware/initrd_$KERNELVERSION.gz" |bash
which will create the file "/boot/efi/EFI/Slackware/initrd_5.10.14.gz". As you see, my initrd filename reflects the kernel it was made for.
I also manually copy the installed generic kernel from /boot into /boot/efi/EFI/Slackware/
Then, I edit elilo.conf and copy the block of lines defining the existing kernel, and substitute the full name for the generic kernel (i.e. use "vmlinuz-generic-5.10.14" and not the symlink name "vmlinuz-generic" which is always the same) and the initrd (initrd_5.10.14.gz) and give them a new label.
I reboot and check if the new label boots my machine into the new kernel. If so, I make that label the new default in elilo.conf. If not, I find and correct my mistake (most often I forget to copy the new kernel into the EFI partition).