diff --git a/drivers/net/wireless/ath/ath6kl/htc.c b/drivers/net/wireless/ath/ath6kl/htc.c index ea87a19cda9935ab5eabe5ef7ed96e4042154aa4..836797947805ca6572d54e85065435f5da6fb467 100644 --- a/drivers/net/wireless/ath/ath6kl/htc.c +++ b/drivers/net/wireless/ath/ath6kl/htc.c @@ -1774,7 +1774,7 @@ int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[], * A recv bundle was detected, force IRQ status * re-check again */ - target->dev->chk_irq_status_cnt = 1; + target->chk_irq_status_cnt = 1; n_fetched += get_queue_depth(&rx_pktq); @@ -1799,7 +1799,7 @@ int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[], * before leaving IRQ processing, this can net better * performance in high throughput situations. */ - target->dev->chk_irq_status_cnt = 1; + target->chk_irq_status_cnt = 1; } if (status) { diff --git a/drivers/net/wireless/ath/ath6kl/htc.h b/drivers/net/wireless/ath/ath6kl/htc.h index bf9c72569887e9abe4013d9adb5fdd9caa35da70..d844d36e40cf6b99dbd98cd92717e63feebb9f14 100644 --- a/drivers/net/wireless/ath/ath6kl/htc.h +++ b/drivers/net/wireless/ath/ath6kl/htc.h @@ -536,6 +536,8 @@ struct htc_target { int max_scat_entries; int max_xfer_szper_scatreq; + + int chk_irq_status_cnt; }; void *htc_create(struct ath6kl *ar); diff --git a/drivers/net/wireless/ath/ath6kl/htc_hif.c b/drivers/net/wireless/ath/ath6kl/htc_hif.c index 7ab40c1d3157ac1804ab26b99e78d691851fdc9b..5d397b5c5efb57860bd74d594c301c71df66b8ed 100644 --- a/drivers/net/wireless/ath/ath6kl/htc_hif.c +++ b/drivers/net/wireless/ath/ath6kl/htc_hif.c @@ -426,7 +426,7 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done) * HTC could not pull any messages out due to lack * of resources. */ - dev->chk_irq_status_cnt = 0; + dev->htc_cnxt->chk_irq_status_cnt = 0; } /* now handle the rest of them */ @@ -469,7 +469,7 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done) ath6kl_dbg(ATH6KL_DBG_IRQ, "bypassing irq status re-check, forcing done\n"); - if (!dev->chk_irq_status_cnt) + if (!dev->htc_cnxt->chk_irq_status_cnt) *done = true; ath6kl_dbg(ATH6KL_DBG_IRQ, @@ -489,7 +489,7 @@ int ath6kldev_intr_bh_handler(struct ath6kl *ar) * Reset counter used to flag a re-scan of IRQ status registers on * the target. */ - dev->chk_irq_status_cnt = 0; + dev->htc_cnxt->chk_irq_status_cnt = 0; /* * IRQ processing is synchronous, interrupt status registers can be diff --git a/drivers/net/wireless/ath/ath6kl/htc_hif.h b/drivers/net/wireless/ath/ath6kl/htc_hif.h index 47f086c5bc3c295ed0621fb6be3828794995d744..498701f25ae54e275e667f0c75ff4b4c8909215c 100644 --- a/drivers/net/wireless/ath/ath6kl/htc_hif.h +++ b/drivers/net/wireless/ath/ath6kl/htc_hif.h @@ -80,7 +80,6 @@ struct ath6kl_device { struct ath6kl_irq_enable_reg irq_en_reg; u8 pad3[A_CACHE_LINE_PAD]; struct htc_target *htc_cnxt; - int chk_irq_status_cnt; struct ath6kl *ar; };