diff options
Diffstat (limited to 'arch/sparc')
| -rw-r--r-- | arch/sparc/kernel/pcr.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc/kernel/pcr.c b/arch/sparc/kernel/pcr.c index 8ac23e66008..878c6824c73 100644 --- a/arch/sparc/kernel/pcr.c +++ b/arch/sparc/kernel/pcr.c @@ -80,8 +80,11 @@ static void n2_pcr_write(u64 val)  {  	unsigned long ret; -	ret = sun4v_niagara2_setperf(HV_N2_PERF_SPARC_CTL, val); -	if (ret != HV_EOK) +	if (val & PCR_N2_HTRACE) { +		ret = sun4v_niagara2_setperf(HV_N2_PERF_SPARC_CTL, val); +		if (ret != HV_EOK) +			write_pcr(val); +	} else  		write_pcr(val);  }  |