@@ -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) {
@@ -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);
@@ -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 @@ out:
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
@@ -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;
};