diff --git a/community/iwd/APKBUILD b/community/iwd/APKBUILD
index 8d476711de6ca882ae26562e57fce29375520de0..af015cdeecf3a86ca4d611f5a7e71f507d483cbd 100644
--- a/community/iwd/APKBUILD
+++ b/community/iwd/APKBUILD
@@ -2,8 +2,8 @@
 # Contributor: Jakub Jirutka <jakub@jirutka.cz>
 # Maintainer: Milan P. Stanić <mps@arvanta.net>
 pkgname=iwd
-pkgver=2.22
-pkgrel=1
+pkgver=3.0
+pkgrel=0
 pkgdesc="Internet Wireless Daemon"
 url="https://iwd.wiki.kernel.org/"
 arch="all"
@@ -21,7 +21,6 @@ subpackages="
 	"
 source="https://mirrors.edge.kernel.org/pub/linux/network/wireless/iwd-$pkgver.tar.gz
 	0001-resolving-service-none.patch
-	fix-crash-in-the-RSSI-polling-fallback-workaround.patch
 
 	iwd.initd
 	iwd.confd
@@ -85,9 +84,8 @@ ead_openrc() {
 }
 
 sha512sums="
-bdcff2a8073e94225d2790f88d098d5b09a03ba3a1f4888671ffc94706012a8f4e68bd018244d7670f2a31ecd93572d689b4c26b78c8802d6ce328017addc462  iwd-2.22.tar.gz
+0998891aebabf01d4810e88524c056dec56964f7d71725f3ed89b68e697f29202aae38347356de44d54090c3975a26058a4d96597dc722b058779243a72cea39  iwd-3.0.tar.gz
 dc7e8ab038b5402573ee41d00b016a3faa172fe260dd7c59d567ae0d933e5a5688aac9f0b8d4089a6b13b1a320540423182d13b3dca1cd3de17f59ae3e5f4df1  0001-resolving-service-none.patch
-5760182ef1b0a7f1e34643dd63d57513ebfc6764a57b9fb20884e3d4e3efe0514adf78df52ae080014f6f1cd9c2467f396c7723cdc9914eb5591cd6ca3b3a2b2  fix-crash-in-the-RSSI-polling-fallback-workaround.patch
 ae697a2b5647f6f8b21902eb7e9a9ec02996be6d4f9cdec162f5423f4cebf83cdb9a137d1a95d085485ec3a7b16c1f0377fabdbb4cc28b9628742201b4503fc2  iwd.initd
 c53bfe1b18f0e965d6055e79b40d9f01d13648a4ae6124d2bcb0c6a77dc16f96980df0127c67cecd2a0319a6052f980400bb063d00c87ec016ccb350e3fe797e  iwd.confd
 8207a411d400bc7932829c959251a3246d1c33d342afa7070023dc90403e58b19518b2c84fe36495075a44724e2deab38970a2cc1f83bfff5abf3dff54b8ea3f  ead.initd
diff --git a/community/iwd/fix-crash-in-the-RSSI-polling-fallback-workaround.patch b/community/iwd/fix-crash-in-the-RSSI-polling-fallback-workaround.patch
deleted file mode 100644
index 964cc9f535e32c9e79715cca9daa671a1c78b365..0000000000000000000000000000000000000000
--- a/community/iwd/fix-crash-in-the-RSSI-polling-fallback-workaround.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From b0a011d8f4aff5c24736eb1213e667aaad113c6a Mon Sep 17 00:00:00 2001
-From: James Prestwood <prestwoj@gmail.com>
-Date: Thu, 3 Oct 2024 05:58:17 -0700
-Subject: netdev: fix crash in the RSSI polling fallback workaround
-
-Prior to adding the polling fallback this code path was only used for
-signal level list notifications and netdev_rssi_polling_update() was
-structured as such, where if the RSSI list feature existed there was
-nothing to be done as the kernel handled the notifications.
-
-For certain mediatek cards this is broken, hence why the fallback was
-added. But netdev_rssi_polling_update() was never changed to take
-this into account which bypassed the timer cleanup on disconnections
-resulting in a crash when the timer fired after IWD was disconnected:
-
-iwd: ++++++++ backtrace ++++++++
-iwd: #0  0x7b5459642520 in /lib/x86_64-linux-gnu/libc.so.6
-iwd: #1  0x7b54597aedf4 in /lib/x86_64-linux-gnu/libc.so.6
-iwd: #2  0x49f82d in l_netlink_message_append() at ome/jprestwood/iwd/ell/netlink.c:825
-iwd: #3  0x4a0c12 in l_genl_msg_append_attr() at ome/jprestwood/iwd/ell/genl.c:1522
-iwd: #4  0x405c61 in netdev_rssi_poll() at ome/jprestwood/iwd/src/netdev.c:764
-iwd: #5  0x49cce4 in timeout_callback() at ome/jprestwood/iwd/ell/timeout.c:70
-iwd: #6  0x49c2ed in l_main_iterate() at ome/jprestwood/iwd/ell/main.c:455 (discriminator 2)
-iwd: #7  0x49c3bc in l_main_run() at ome/jprestwood/iwd/ell/main.c:504
-iwd: #8  0x49c5f0 in l_main_run_with_signal() at ome/jprestwood/iwd/ell/main.c:632
-iwd: #9  0x4049ed in main() at ome/jprestwood/iwd/src/main.c:614
-iwd: #10 0x7b5459629d90 in /lib/x86_64-linux-gnu/libc.so.6
-iwd: #11 0x7b5459629e40 in /lib/x86_64-linux-gnu/libc.so.6
-iwd: +++++++++++++++++++++++++++
-
-To fix this we need to add checks for the cqm_poll_fallback flag in
-netdev_rssi_polling_update().
----
- src/netdev.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/netdev.c b/src/netdev.c
-index d298977a1..8379a5983 100644
---- a/src/netdev.c
-+++ b/src/netdev.c
-@@ -769,11 +769,12 @@ static void netdev_rssi_poll(struct l_timeout *timeout, void *user_data)
- /* To be called whenever operational or rssi_levels_num are updated */
- static void netdev_rssi_polling_update(struct netdev *netdev)
- {
--	if (wiphy_has_ext_feature(netdev->wiphy,
-+	if (!netdev->cqm_poll_fallback && wiphy_has_ext_feature(netdev->wiphy,
- 					NL80211_EXT_FEATURE_CQM_RSSI_LIST))
- 		return;
- 
--	if (netdev->operational && netdev->rssi_levels_num > 0) {
-+	if (netdev->operational && (netdev->rssi_levels_num > 0 ||
-+					netdev->cqm_poll_fallback)) {
- 		if (netdev->rssi_poll_timeout)
- 			return;
- 
--- 
-cgit 1.2.3-korg
-