|
@@ -3305,10 +3305,6 @@ static int brcmf_sdio_download_firmware(struct brcmf_sdio *bus,
|
|
goto err;
|
|
goto err;
|
|
}
|
|
}
|
|
|
|
|
|
- /* Allow full data communication using DPC from now on. */
|
|
|
|
- brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
|
|
|
|
- bcmerror = 0;
|
|
|
|
-
|
|
|
|
err:
|
|
err:
|
|
brcmf_sdio_clkctl(bus, CLK_SDONLY, false);
|
|
brcmf_sdio_clkctl(bus, CLK_SDONLY, false);
|
|
sdio_release_host(bus->sdiodev->func[1]);
|
|
sdio_release_host(bus->sdiodev->func[1]);
|
|
@@ -4046,6 +4042,9 @@ static void brcmf_sdio_firmware_callback(struct device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
if (err == 0) {
|
|
if (err == 0) {
|
|
|
|
+ /* Allow full data communication using DPC from now on. */
|
|
|
|
+ brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
|
|
|
|
+
|
|
err = brcmf_sdiod_intr_register(sdiodev);
|
|
err = brcmf_sdiod_intr_register(sdiodev);
|
|
if (err != 0)
|
|
if (err != 0)
|
|
brcmf_err("intr register failed:%d\n", err);
|
|
brcmf_err("intr register failed:%d\n", err);
|