broadcom_sta: fix build on linux 5.17

Fix build issues when compiling against Linux 5.17
main
X9VoiD 2 years ago committed by Matthieu Coudron
parent f699697857
commit 077d187a4b
  1. 2
      pkgs/os-specific/linux/broadcom-sta/default.nix
  2. 39
      pkgs/os-specific/linux/broadcom-sta/linux-5.17.patch

@ -39,6 +39,8 @@ stdenv.mkDerivation {
./linux-5.6.patch
# source: https://gist.github.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290
./linux-5.9.patch
# source: https://github.com/archlinux/svntogit-community/blob/5ec5b248976f84fcd7e3d7fae49ee91289912d12/trunk/012-linux517.patch
./linux-5.17.patch
./null-pointer-fix.patch
./gcc.patch
];

@ -0,0 +1,39 @@
diff -u -r a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
--- a/src/wl/sys/wl_linux.c 2022-03-23 00:35:42.930416350 +0000
+++ b/src/wl/sys/wl_linux.c 2022-03-23 00:40:12.903771013 +0000
@@ -2980,7 +2980,11 @@
else
dev->type = ARPHRD_IEEE80211_RADIOTAP;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN);
+#else
+ eth_hw_addr_set(wl->dev, dev->dev_addr);
+#endif
#if defined(WL_USE_NETDEV_OPS)
dev->netdev_ops = &wl_netdev_monitor_ops;
@@ -3261,7 +3265,11 @@
static ssize_t
wl_proc_read(struct file *filp, char __user *buffer, size_t length, loff_t *offp)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
wl_info_t * wl = PDE_DATA(file_inode(filp));
+#else
+ wl_info_t * wl = pde_data(file_inode(filp));
+#endif
#endif
int bcmerror, len;
int to_user = 0;
@@ -3318,7 +3326,11 @@
static ssize_t
wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t *offp)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
wl_info_t * wl = PDE_DATA(file_inode(filp));
+#else
+ wl_info_t * wl = pde_data(file_inode(filp));
+#endif
#endif
int from_user = 0;
int bcmerror;
Loading…
Cancel
Save