aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch')
-rw-r--r--package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch33
1 files changed, 20 insertions, 13 deletions
diff --git a/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch b/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch
index 72bb690d33..66e43eecb0 100644
--- a/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch
+++ b/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch
@@ -45,7 +45,7 @@ Acked-by: Sekhar Nori <nsekhar@ti.com>
loopcount = 1;
wl1271_debug(DEBUG_IRQ, "IRQ work");
-@@ -5901,7 +5902,6 @@ struct ieee80211_hw *wlcore_alloc_hw(siz
+@@ -5934,7 +5935,6 @@ struct ieee80211_hw *wlcore_alloc_hw(siz
wl->ap_ps_map = 0;
wl->ap_fw_ps_map = 0;
wl->quirks = 0;
@@ -53,7 +53,7 @@ Acked-by: Sekhar Nori <nsekhar@ti.com>
wl->system_hlid = WL12XX_SYSTEM_HLID;
wl->active_sta_count = 0;
wl->active_link_count = 0;
-@@ -6042,7 +6042,7 @@ static void wlcore_nvs_cb(const struct f
+@@ -6075,7 +6075,7 @@ static void wlcore_nvs_cb(const struct f
struct platform_device *pdev = wl->pdev;
struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev);
struct wl12xx_platform_data *pdata = pdev_data->pdata;
@@ -62,35 +62,42 @@ Acked-by: Sekhar Nori <nsekhar@ti.com>
int ret;
irq_handler_t hardirq_fn = NULL;
-@@ -6070,18 +6070,17 @@ static void wlcore_nvs_cb(const struct f
+@@ -6103,29 +6103,19 @@ static void wlcore_nvs_cb(const struct f
wlcore_adjust_conf(wl);
wl->irq = platform_get_irq(pdev, 0);
- wl->platform_quirks = pdata->platform_quirks;
wl->if_ops = pdev_data->if_ops;
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+- irqflags = IRQF_TRIGGER_RISING;
++ wl->irq_flags = irq_get_trigger_type(wl->irq) | IRQF_ONESHOT;
+ hardirq_fn = wlcore_hardirq;
+-#else
- if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) {
- irqflags = IRQF_TRIGGER_RISING;
- hardirq_fn = wlcore_hardirq;
- } else {
- irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT;
- }
-+ wl->irq_flags = irq_get_trigger_type(wl->irq);
-+
-+ hardirq_fn = wlcore_hardirq;
-+
-+ /* Since we don't use the primary handler, we must set ONESHOT */
-+ wl->irq_flags |= IRQF_ONESHOT;
+-#endif
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
+ ret = compat_request_threaded_irq(&wl->irq_compat, wl->irq,
+ hardirq_fn, wlcore_irq,
+- irqflags,
++ wl->irqflags,
+ pdev->name, wl);
+ #else
ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq,
- irqflags, pdev->name, wl);
-+ wl->irq_flags, pdev->name, wl);
++ wl->irqflags, pdev->name, wl);
+ #endif
if (ret < 0) {
wl1271_error("request_irq() failed: %d", ret);
- goto out_free_nvs;
--- a/drivers/net/wireless/ti/wlcore/wlcore.h
+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
-@@ -186,6 +186,8 @@ struct wl1271 {
+@@ -188,6 +188,8 @@ struct wl1271 {
int irq;
@@ -99,7 +106,7 @@ Acked-by: Sekhar Nori <nsekhar@ti.com>
spinlock_t wl_lock;
enum wlcore_state state;
-@@ -393,9 +395,6 @@ struct wl1271 {
+@@ -395,9 +397,6 @@ struct wl1271 {
/* Quirks of specific hardware revisions */
unsigned int quirks;