Revision 7e3fd813717693597daaa95dee875f4cb2d911ef authored by Lv Zheng on 05 July 2016, 11:18:07 UTC, committed by Rafael J. Wysocki on 05 July 2016, 21:02:34 UTC
The FIFO unlocking mechanism in acpi_dbg has been broken by the
following commit:

  Commit: 287980e49ffc0f6d911601e7e352a812ed27768e
  Subject: remove lots of IS_ERR_VALUE abuses

It converted !IS_ERR_VALUE(ret) into !ret which was not entirely
correct. Fix the regression by taking ret > 0 into account too as
appropriate.

Fixes: 287980e49ffc (remove lots of IS_ERR_VALUE abuses)
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
[ rjw: Simplifications, changelog & subject massage ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent a99cde4
Raw File
utrap.S
	.globl		utrap_trap
	.type		utrap_trap,#function
utrap_trap:		/* %g3=handler,%g4=level */
	TRAP_LOAD_THREAD_REG(%g6, %g1)
	ldx		[%g6 + TI_UTRAPS], %g1
	brnz,pt		%g1, invoke_utrap
	 nop

	ba,pt		%xcc, etrap
	 rd		%pc, %g7
	mov		%l4, %o1
        call		bad_trap
	 add		%sp, PTREGS_OFF, %o0
	ba,a,pt		%xcc, rtrap

invoke_utrap:
	sllx		%g3, 3, %g3
	ldx		[%g1 + %g3], %g1
	save		%sp, -128, %sp
	rdpr		%tstate, %l6
	rdpr		%cwp, %l7
	andn		%l6, TSTATE_CWP, %l6
	wrpr		%l6, %l7, %tstate
	rdpr		%tpc, %l6
	rdpr		%tnpc, %l7
	wrpr		%g1, 0, %tnpc
	done
	.size		utrap_trap,.-utrap_trap
back to top