|
@@ -218,8 +218,7 @@ int iwl_rx_queue_restock(struct iwl_priv *priv)
|
|
|
|
|
|
/* If we've added more space for the firmware to place data, tell it.
|
|
/* If we've added more space for the firmware to place data, tell it.
|
|
* Increment device's write pointer in multiples of 8. */
|
|
* Increment device's write pointer in multiples of 8. */
|
|
- if ((write != (rxq->write & ~0x7))
|
|
|
|
- || (abs(rxq->write - rxq->read) > 7)) {
|
|
|
|
|
|
+ if (write != (rxq->write & ~0x7)) {
|
|
spin_lock_irqsave(&rxq->lock, flags);
|
|
spin_lock_irqsave(&rxq->lock, flags);
|
|
rxq->need_update = 1;
|
|
rxq->need_update = 1;
|
|
spin_unlock_irqrestore(&rxq->lock, flags);
|
|
spin_unlock_irqrestore(&rxq->lock, flags);
|
|
@@ -440,6 +439,7 @@ int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
|
|
FH_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL |
|
|
FH_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL |
|
|
FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY |
|
|
FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY |
|
|
FH_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL |
|
|
FH_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL |
|
|
|
|
+ FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME |
|
|
rb_size|
|
|
rb_size|
|
|
(rb_timeout << FH_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS)|
|
|
(rb_timeout << FH_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS)|
|
|
(rfdnlog << FH_RCSR_RX_CONFIG_RBDCB_SIZE_POS));
|
|
(rfdnlog << FH_RCSR_RX_CONFIG_RBDCB_SIZE_POS));
|