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@xxxxxxxxx> --- 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel