2021-11-24 17:31:19 |
Andrea Righi |
description |
CC [M] /tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.o
In file included from /tmp/backport-iwlwifi-dkms/backport-include/asm-generic/bug.h:3,
from ./arch/x86/include/asm/bug.h:84,
from ./include/linux/bug.h:5,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/bug.h:3,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/kernel.h:4,
from ./include/linux/skbuff.h:13,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/skbuff.h:3,
from ./include/linux/if_ether.h:19,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/if_ether.h:3,
from ./include/linux/etherdevice.h:20,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/etherdevice.h:3,
from /tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c:6:
/tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c: In function ‘iwl_mei_free_shared_mem’:
/tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c:243:17: error: implicit declaration of function ‘mei_cldev_dma_unmap’ [-Werror=implicit-function-declaration]
243 | WARN_ON(mei_cldev_dma_unmap(cldev));
| ^~~~~~~~~~~~~~~~~~~ |
[Impact]
backport-iwlwifi-dkms fails to build on the latest jammy kernel 5.15:
CC [M] /tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.o
In file included from /tmp/backport-iwlwifi-dkms/backport-include/asm-generic/bug.h:3,
from ./arch/x86/include/asm/bug.h:84,
from ./include/linux/bug.h:5,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/bug.h:3,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/kernel.h:4,
from ./include/linux/skbuff.h:13,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/skbuff.h:3,
from ./include/linux/if_ether.h:19,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/if_ether.h:3,
from ./include/linux/etherdevice.h:20,
from /tmp/backport-iwlwifi-dkms/backport-include/linux/etherdevice.h:3,
from /tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c:6:
/tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c: In function ‘iwl_mei_free_shared_mem’:
/tmp/backport-iwlwifi-dkms/drivers/net/wireless/intel/iwlwifi/mei/main.c:243:17: error: implicit declaration of function ‘mei_cldev_dma_unmap’ [-Werror=implicit-function-declaration]
243 | WARN_ON(mei_cldev_dma_unmap(cldev));
| ^~~~~~~~~~~~~~~~~~~
[Test case]
sudo apt install backport-iwlwifi-dkms
[Fix]
The driver assumes that kernels > 5.13 provide mei_cldev_dma_map/unmap() when CONFIG_WLAN_VENDOR_INTEL_MEI is defined.
However these functions and the config option are not available at all in recent kernels.
So instead of relying on the specific kernel version simply rely on the availability of CONFIG_WLAN_VENDOR_INTEL_MEI to determine if the kernel has the required functions defined, or if the driver needs to provide a custom implementation of these functions.
[Regression potential]
We may see build errors in newer kernel if CONFIG_WLAN_VENDOR_INTEL_MEI is merged upstream and these functions are actually provided by recent kernels. |
|