Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2ca8ecb authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by John W. Linville
Browse files

mwl8k: don't return zero on failure paths in mwl8k_probe[_hw]()



If pci_iomap() fails in mwl8k_probe(), it breaks off initialization,
deallocates all resources, but returns zero.
There is a similar issue when priv->rxd_ops is NULL in mwl8k_probe_hw().

The patch adds proper error code return values.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7532c7d0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5555,6 +5555,7 @@ static int mwl8k_probe_hw(struct ieee80211_hw *hw)
		if (priv->rxd_ops == NULL) {
			wiphy_err(hw->wiphy,
				  "Driver does not have AP firmware image support for this hardware\n");
			rc = -ENOENT;
			goto err_stop_firmware;
		}
	} else {
@@ -5901,6 +5902,7 @@ static int mwl8k_probe(struct pci_dev *pdev,
	priv->sram = pci_iomap(pdev, 0, 0x10000);
	if (priv->sram == NULL) {
		wiphy_err(hw->wiphy, "Cannot map device SRAM\n");
		rc = -EIO;
		goto err_iounmap;
	}

@@ -5913,6 +5915,7 @@ static int mwl8k_probe(struct pci_dev *pdev,
		priv->regs = pci_iomap(pdev, 2, 0x10000);
		if (priv->regs == NULL) {
			wiphy_err(hw->wiphy, "Cannot map device registers\n");
			rc = -EIO;
			goto err_iounmap;
		}
	}