|
@@ -411,7 +411,6 @@ mwl8k_send_fw_load_cmd(struct mwl8k_priv *priv, void *data, int length)
|
|
|
{
|
|
|
void __iomem *regs = priv->regs;
|
|
|
dma_addr_t dma_addr;
|
|
|
- int rc;
|
|
|
int loops;
|
|
|
|
|
|
dma_addr = pci_map_single(priv->pdev, data, length, PCI_DMA_TODEVICE);
|
|
@@ -425,7 +424,6 @@ mwl8k_send_fw_load_cmd(struct mwl8k_priv *priv, void *data, int length)
|
|
|
iowrite32(MWL8K_H2A_INT_DUMMY,
|
|
|
regs + MWL8K_HIU_H2A_INTERRUPT_EVENTS);
|
|
|
|
|
|
- rc = -ETIMEDOUT;
|
|
|
loops = 1000;
|
|
|
do {
|
|
|
u32 int_code;
|
|
@@ -433,7 +431,6 @@ mwl8k_send_fw_load_cmd(struct mwl8k_priv *priv, void *data, int length)
|
|
|
int_code = ioread32(regs + MWL8K_HIU_INT_CODE);
|
|
|
if (int_code == MWL8K_INT_CODE_CMD_FINISHED) {
|
|
|
iowrite32(0, regs + MWL8K_HIU_INT_CODE);
|
|
|
- rc = 0;
|
|
|
break;
|
|
|
}
|
|
|
|
|
@@ -442,26 +439,7 @@ mwl8k_send_fw_load_cmd(struct mwl8k_priv *priv, void *data, int length)
|
|
|
|
|
|
pci_unmap_single(priv->pdev, dma_addr, length, PCI_DMA_TODEVICE);
|
|
|
|
|
|
- /*
|
|
|
- * Clear 'command done' interrupt bit.
|
|
|
- */
|
|
|
- loops = 1000;
|
|
|
- do {
|
|
|
- u32 status;
|
|
|
-
|
|
|
- status = ioread32(priv->regs +
|
|
|
- MWL8K_HIU_A2H_INTERRUPT_STATUS);
|
|
|
- if (status & MWL8K_A2H_INT_OPC_DONE) {
|
|
|
- iowrite32(~MWL8K_A2H_INT_OPC_DONE,
|
|
|
- priv->regs + MWL8K_HIU_A2H_INTERRUPT_STATUS);
|
|
|
- ioread32(priv->regs + MWL8K_HIU_A2H_INTERRUPT_STATUS);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- udelay(1);
|
|
|
- } while (--loops);
|
|
|
-
|
|
|
- return rc;
|
|
|
+ return loops ? 0 : -ETIMEDOUT;
|
|
|
}
|
|
|
|
|
|
static int mwl8k_load_fw_image(struct mwl8k_priv *priv,
|