diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800pci.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2800pci.c | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c index 55cd3e1f75b..dab7dc16a6c 100644 --- a/drivers/net/wireless/rt2x00/rt2800pci.c +++ b/drivers/net/wireless/rt2x00/rt2800pci.c | |||
| @@ -426,7 +426,6 @@ static int rt2800pci_init_queues(struct rt2x00_dev *rt2x00dev) | |||
| 426 | static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev, | 426 | static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev, |
| 427 | enum dev_state state) | 427 | enum dev_state state) |
| 428 | { | 428 | { |
| 429 | int mask = (state == STATE_RADIO_IRQ_ON); | ||
| 430 | u32 reg; | 429 | u32 reg; |
| 431 | unsigned long flags; | 430 | unsigned long flags; |
| 432 | 431 | ||
| @@ -448,25 +447,14 @@ static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev, | |||
| 448 | } | 447 | } |
| 449 | 448 | ||
| 450 | spin_lock_irqsave(&rt2x00dev->irqmask_lock, flags); | 449 | spin_lock_irqsave(&rt2x00dev->irqmask_lock, flags); |
| 451 | rt2x00pci_register_read(rt2x00dev, INT_MASK_CSR, ®); | 450 | reg = 0; |
| 452 | rt2x00_set_field32(®, INT_MASK_CSR_RXDELAYINT, 0); | 451 | if (state == STATE_RADIO_IRQ_ON) { |
| 453 | rt2x00_set_field32(®, INT_MASK_CSR_TXDELAYINT, 0); | 452 | rt2x00_set_field32(®, INT_MASK_CSR_RX_DONE, 1); |
| 454 | rt2x00_set_field32(®, INT_MASK_CSR_RX_DONE, mask); | 453 | rt2x00_set_field32(®, INT_MASK_CSR_TBTT, 1); |
| 455 | rt2x00_set_field32(®, INT_MASK_CSR_AC0_DMA_DONE, 0); | 454 | rt2x00_set_field32(®, INT_MASK_CSR_PRE_TBTT, 1); |
| 456 | rt2x00_set_field32(®, INT_MASK_CSR_AC1_DMA_DONE, 0); | 455 | rt2x00_set_field32(®, INT_MASK_CSR_TX_FIFO_STATUS, 1); |
| 457 | rt2x00_set_field32(®, INT_MASK_CSR_AC2_DMA_DONE, 0); | 456 | rt2x00_set_field32(®, INT_MASK_CSR_AUTO_WAKEUP, 1); |
| 458 | rt2x00_set_field32(®, INT_MASK_CSR_AC3_DMA_DONE, 0); | 457 | } |
| 459 | rt2x00_set_field32(®, INT_MASK_CSR_HCCA_DMA_DONE, 0); | ||
| 460 | rt2x00_set_field32(®, INT_MASK_CSR_MGMT_DMA_DONE, 0); | ||
| 461 | rt2x00_set_field32(®, INT_MASK_CSR_MCU_COMMAND, 0); | ||
| 462 | rt2x00_set_field32(®, INT_MASK_CSR_RXTX_COHERENT, 0); | ||
| 463 | rt2x00_set_field32(®, INT_MASK_CSR_TBTT, mask); | ||
| 464 | rt2x00_set_field32(®, INT_MASK_CSR_PRE_TBTT, mask); | ||
| 465 | rt2x00_set_field32(®, INT_MASK_CSR_TX_FIFO_STATUS, mask); | ||
| 466 | rt2x00_set_field32(®, INT_MASK_CSR_AUTO_WAKEUP, mask); | ||
| 467 | rt2x00_set_field32(®, INT_MASK_CSR_GPTIMER, 0); | ||
| 468 | rt2x00_set_field32(®, INT_MASK_CSR_RX_COHERENT, 0); | ||
| 469 | rt2x00_set_field32(®, INT_MASK_CSR_TX_COHERENT, 0); | ||
| 470 | rt2x00pci_register_write(rt2x00dev, INT_MASK_CSR, reg); | 458 | rt2x00pci_register_write(rt2x00dev, INT_MASK_CSR, reg); |
| 471 | spin_unlock_irqrestore(&rt2x00dev->irqmask_lock, flags); | 459 | spin_unlock_irqrestore(&rt2x00dev->irqmask_lock, flags); |
| 472 | 460 | ||
