diff options
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/chip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/brcm80211/brcmfmac/chip.c index df130ef53d1c..c7c9f15c0fe0 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/chip.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/chip.c | |||
@@ -303,10 +303,10 @@ static void brcmf_chip_ai_coredisable(struct brcmf_core_priv *core, | |||
303 | 303 | ||
304 | ci = core->chip; | 304 | ci = core->chip; |
305 | 305 | ||
306 | /* if core is already in reset, just return */ | 306 | /* if core is already in reset, skip reset */ |
307 | regdata = ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL); | 307 | regdata = ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL); |
308 | if ((regdata & BCMA_RESET_CTL_RESET) != 0) | 308 | if ((regdata & BCMA_RESET_CTL_RESET) != 0) |
309 | return; | 309 | goto in_reset_configure; |
310 | 310 | ||
311 | /* configure reset */ | 311 | /* configure reset */ |
312 | ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL, | 312 | ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL, |
@@ -322,6 +322,7 @@ static void brcmf_chip_ai_coredisable(struct brcmf_core_priv *core, | |||
322 | SPINWAIT(ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL) != | 322 | SPINWAIT(ci->ops->read32(ci->ctx, core->wrapbase + BCMA_RESET_CTL) != |
323 | BCMA_RESET_CTL_RESET, 300); | 323 | BCMA_RESET_CTL_RESET, 300); |
324 | 324 | ||
325 | in_reset_configure: | ||
325 | /* in-reset configure */ | 326 | /* in-reset configure */ |
326 | ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL, | 327 | ci->ops->write32(ci->ctx, core->wrapbase + BCMA_IOCTL, |
327 | reset | BCMA_IOCTL_FGC | BCMA_IOCTL_CLK); | 328 | reset | BCMA_IOCTL_FGC | BCMA_IOCTL_CLK); |