diff options
| -rw-r--r-- | drivers/bcma/core.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/bcma/core.c b/drivers/bcma/core.c index 03bbe104338..17b26ce7e05 100644 --- a/drivers/bcma/core.c +++ b/drivers/bcma/core.c @@ -104,7 +104,13 @@ void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status, bool on)  		if (i)  			bcma_err(core->bus, "PLL enable timeout\n");  	} else { -		bcma_warn(core->bus, "Disabling PLL not supported yet!\n"); +		/* +		 * Mask the PLL but don't wait for it to be disabled. PLL may be +		 * shared between cores and will be still up if there is another +		 * core using it. +		 */ +		bcma_mask32(core, BCMA_CLKCTLST, ~req); +		bcma_read32(core, BCMA_CLKCTLST);  	}  }  EXPORT_SYMBOL_GPL(bcma_core_pll_ctl);  |