diff --git a/package/kernel/qca-nss-gmac/Makefile b/package/kernel/qca-nss-gmac/Makefile
index d9947708fc8e9168df66ca3cecb0ef4551b61693..a854c54c2d6a77b1c724aad8ed3aede72d4e077b 100644
--- a/package/kernel/qca-nss-gmac/Makefile
+++ b/package/kernel/qca-nss-gmac/Makefile
@@ -6,14 +6,14 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=qca-nss-gmac
-PKG_VERSION:=20150210
+PKG_VERSION:=20150408
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=git://codeaurora.org/quic/qsdk/oss/lklm/nss-gmac
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=969aab0aff40a3a5afe70d0f00e783b1c57aaea6
+PKG_SOURCE_VERSION:=3dcb945b467f8f6b3c81338e63c917f768deb11e
 
 PKG_LICENSE:=ISC
 
diff --git a/package/kernel/qca-nss-gmac/patches/001-nss-gmac-remove-IRQ-flag-IRQF_DISABLED.patch b/package/kernel/qca-nss-gmac/patches/001-nss-gmac-remove-IRQ-flag-IRQF_DISABLED.patch
new file mode 100644
index 0000000000000000000000000000000000000000..7bc5bfe7ba55894efa61c7c25d1fa271798dc10d
--- /dev/null
+++ b/package/kernel/qca-nss-gmac/patches/001-nss-gmac-remove-IRQ-flag-IRQF_DISABLED.patch
@@ -0,0 +1,15 @@
+diff --git a/ipq806x/nss_gmac_tx_rx_offload.c b/ipq806x/nss_gmac_tx_rx_offload.c
+index bc684a5..383403b 100644
+--- a/ipq806x/nss_gmac_tx_rx_offload.c
++++ b/ipq806x/nss_gmac_tx_rx_offload.c
+@@ -896,8 +896,8 @@ int nss_gmac_open(struct net_device *netdev)
+ 		nss_gmac_rx_refill(gmacdev);
+ 
+ 		/* Register IRQ */
+-		err = request_irq(netdev->irq, nss_gmac_handle_irq,
+-					IRQF_DISABLED, "nss-gmac", gmacdev);
++		err = request_irq(netdev->irq, nss_gmac_handle_irq, 0,
++					"nss-gmac", gmacdev);
+ 		if (err) {
+ 			netdev_dbg(netdev, "Mac %d IRQ %d request failed\n",
+ 						gmacdev->macid, netdev->irq);