|
|
@@ -2740,6 +2740,11 @@ static void brcmf_sdio_dpc(struct brcmf_sdio *bus)
|
|
|
if ((bus->sdiodev->state != BRCMF_SDIOD_DATA) || (err != 0)) {
|
|
|
brcmf_err("failed backplane access over SDIO, halting operation\n");
|
|
|
atomic_set(&bus->intstatus, 0);
|
|
|
+ if (bus->ctrl_frame_stat) {
|
|
|
+ bus->ctrl_frame_err = -ENODEV;
|
|
|
+ bus->ctrl_frame_stat = false;
|
|
|
+ brcmf_sdio_wait_event_wakeup(bus);
|
|
|
+ }
|
|
|
} else if (atomic_read(&bus->intstatus) ||
|
|
|
atomic_read(&bus->ipend) > 0 ||
|
|
|
(!atomic_read(&bus->fcstate) &&
|