Commit a1f5aac1 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Kalle Valo

brcmfmac: don't realloc wiphy during PCIe reset

Providing a new wiphy on every PCIe reset was confusing and was causing
configuration problems for some users (supplicant and authenticators).
Sticking to the existing wiphy should make error recovery much simpler
and more reliable.
Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Acked-by: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 450914c3
...@@ -1430,7 +1430,6 @@ static int brcmf_pcie_reset(struct device *dev) ...@@ -1430,7 +1430,6 @@ static int brcmf_pcie_reset(struct device *dev)
brcmf_pcie_bus_console_read(devinfo, true); brcmf_pcie_bus_console_read(devinfo, true);
brcmf_detach(dev); brcmf_detach(dev);
brcmf_free(dev);
brcmf_pcie_release_irq(devinfo); brcmf_pcie_release_irq(devinfo);
brcmf_pcie_release_scratchbuffers(devinfo); brcmf_pcie_release_scratchbuffers(devinfo);
...@@ -1826,9 +1825,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret, ...@@ -1826,9 +1825,6 @@ static void brcmf_pcie_setup(struct device *dev, int ret,
brcmf_pcie_intr_enable(devinfo); brcmf_pcie_intr_enable(devinfo);
brcmf_pcie_hostready(devinfo); brcmf_pcie_hostready(devinfo);
ret = brcmf_alloc(&devinfo->pdev->dev, devinfo->settings);
if (ret)
goto fail;
ret = brcmf_attach(&devinfo->pdev->dev); ret = brcmf_attach(&devinfo->pdev->dev);
if (ret) if (ret)
goto fail; goto fail;
...@@ -1931,6 +1927,10 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -1931,6 +1927,10 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id)
bus->wowl_supported = pci_pme_capable(pdev, PCI_D3hot); bus->wowl_supported = pci_pme_capable(pdev, PCI_D3hot);
dev_set_drvdata(&pdev->dev, bus); dev_set_drvdata(&pdev->dev, bus);
ret = brcmf_alloc(&devinfo->pdev->dev, devinfo->settings);
if (ret)
goto fail_bus;
fwreq = brcmf_pcie_prepare_fw_request(devinfo); fwreq = brcmf_pcie_prepare_fw_request(devinfo);
if (!fwreq) { if (!fwreq) {
ret = -ENOMEM; ret = -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment