[PATCH 1/1] staging/stlc45xx: Fix compile error
Javier Martinez Canillas
martinez.javier at gmail.com
Wed Oct 14 20:03:45 PDT 2009
I got the following compile error with today linux-next tree.
drivers/staging/stlc45xx/stlc45xx.c: In function ‘stlc45xx_reset’:
drivers/staging/stlc45xx/stlc45xx.c:1061: error: ‘struct ieee80211_hw’ has no member named ‘workqueue’
drivers/staging/stlc45xx/stlc45xx.c: In function ‘stlc45xx_interrupt’:
drivers/staging/stlc45xx/stlc45xx.c:1492: error: ‘struct ieee80211_hw’ has no member named ‘workqueue’
drivers/staging/stlc45xx/stlc45xx.c: In function ‘stlc45xx_wq_tx’:
drivers/staging/stlc45xx/stlc45xx.c:1571: error: ‘struct ieee80211_hw’ has no member named ‘workqueue’
drivers/staging/stlc45xx/stlc45xx.c: In function ‘stlc45xx_op_tx’:
drivers/staging/stlc45xx/stlc45xx.c:2135: error: ‘struct ieee80211_hw’ has no member named ‘workqueue’
drivers/staging/stlc45xx/stlc45xx.c: At top level:
drivers/staging/stlc45xx/stlc45xx.c:2351: warning: initialization from incompatible pointer type
The driver was trying to access directly to mac80211 workqueue. Use the helper functions instead.
I think this patch solves the issue. Also fix a compile warning due a change in configure_filter() handler params.
Signed-off-by: Javier Martinez Canillas <martinez.javier at gmail.com>
---
drivers/staging/stlc45xx/stlc45xx.c | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/stlc45xx/stlc45xx.c b/drivers/staging/stlc45xx/stlc45xx.c
index be99eb3..e060974 100644
--- a/drivers/staging/stlc45xx/stlc45xx.c
+++ b/drivers/staging/stlc45xx/stlc45xx.c
@@ -1058,7 +1058,7 @@ static void stlc45xx_reset(struct stlc45xx *stlc)
stlc45xx_warning("resetting firmware");
stlc->fw_state = FW_STATE_RESET;
ieee80211_stop_queues(stlc->hw);
- queue_work(stlc->hw->workqueue, &stlc->work_reset);
+ ieee80211_queue_work(stlc->hw, &stlc->work_reset);
}
static void stlc45xx_work_tx_timeout(struct work_struct *work)
@@ -1489,7 +1489,7 @@ static irqreturn_t stlc45xx_interrupt(int irq, void *config)
stlc45xx_debug(DEBUG_IRQ, "IRQ");
- queue_work(stlc->hw->workqueue, &stlc->work);
+ ieee80211_queue_work(stlc->hw, &stlc->work);
return IRQ_HANDLED;
}
@@ -1568,7 +1568,7 @@ static int stlc45xx_wq_tx(struct stlc45xx *stlc)
}
list_add(&entry->tx_list, &stlc->tx_sent);
- queue_delayed_work(stlc->hw->workqueue,
+ ieee80211_queue_delayed_work(stlc->hw,
&stlc->work_tx_timeout,
msecs_to_jiffies(TX_TIMEOUT));
}
@@ -2132,7 +2132,7 @@ static int stlc45xx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
ieee80211_stop_queues(stlc->hw);
}
- queue_work(stlc->hw->workqueue, &stlc->work);
+ ieee80211_queue_work(stlc->hw, &stlc->work);
spin_unlock_bh(&stlc->tx_lock);
@@ -2263,11 +2263,9 @@ static int stlc45xx_op_config(struct ieee80211_hw *hw, u32 changed)
}
static void stlc45xx_op_configure_filter(struct ieee80211_hw *hw,
- unsigned int changed_flags,
- unsigned int *total_flags,
- int mc_count,
- struct dev_addr_list *mc_list)
-{
+ unsigned int changed_flags,
+ unsigned int *total_flags,
+ u64 multicast){
*total_flags = 0;
}
--
1.6.0.4
More information about the devel
mailing list