qtnfmac: modify qtnf_map_bar not to return NULL
authorSergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Tue, 29 Aug 2017 12:16:21 +0000 (15:16 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 31 Aug 2017 12:57:39 +0000 (15:57 +0300)
NULL is not a special type of success here but a error pointer.
So it makes sense to check against NULL in qtnf_map_bar
and return error code.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c

index fd552d64f94327aedf135f6560a2443c19c0c8f4..bfbcd0bf75bf196fcaa51629324b18633ff1998f 100644 (file)
@@ -184,8 +184,10 @@ static void __iomem *qtnf_map_bar(struct qtnf_pcie_bus_priv *priv, u8 index)
                return IOMEM_ERR_PTR(ret);
 
        busaddr = pci_resource_start(priv->pdev, index);
-       vaddr = pcim_iomap_table(priv->pdev)[index];
        len = pci_resource_len(priv->pdev, index);
+       vaddr = pcim_iomap_table(priv->pdev)[index];
+       if (!vaddr)
+               return IOMEM_ERR_PTR(-ENOMEM);
 
        pr_debug("BAR%u vaddr=0x%p busaddr=%pad len=%u\n",
                 index, vaddr, &busaddr, (int)len);
@@ -248,19 +250,19 @@ static int qtnf_pcie_init_memory(struct qtnf_pcie_bus_priv *priv)
        int ret = -ENOMEM;
 
        priv->sysctl_bar = qtnf_map_bar(priv, QTN_SYSCTL_BAR);
-       if (IS_ERR_OR_NULL(priv->sysctl_bar)) {
+       if (IS_ERR(priv->sysctl_bar)) {
                pr_err("failed to map BAR%u\n", QTN_SYSCTL_BAR);
                return ret;
        }
 
        priv->dmareg_bar = qtnf_map_bar(priv, QTN_DMA_BAR);
-       if (IS_ERR_OR_NULL(priv->dmareg_bar)) {
+       if (IS_ERR(priv->dmareg_bar)) {
                pr_err("failed to map BAR%u\n", QTN_DMA_BAR);
                return ret;
        }
 
        priv->epmem_bar = qtnf_map_bar(priv, QTN_SHMEM_BAR);
-       if (IS_ERR_OR_NULL(priv->epmem_bar)) {
+       if (IS_ERR(priv->epmem_bar)) {
                pr_err("failed to map BAR%u\n", QTN_SHMEM_BAR);
                return ret;
        }