[PATCH 1/1] staging/stlc45xx: Fix compile error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux