Skip to content

ASoC: SOF: pm: use loop to suspend stream in both directions - #418

Merged
plbossart merged 1 commit into
thesofproject:topic/sof-devfrom
ranj063:fix/upstream1
Dec 12, 2018
Merged

ASoC: SOF: pm: use loop to suspend stream in both directions#418
plbossart merged 1 commit into
thesofproject:topic/sof-devfrom
ranj063:fix/upstream1

Conversation

@ranj063

Copy link
Copy Markdown
Collaborator

Use a loop to suspend streams in both directions.
Remove RUNTIME_PM macro and use bool instead.

Signed-off-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com

Use a loop to suspend streams in both directions.
Remove RUNTIME_PM macro and use bool instead.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@ranj063
ranj063 requested review from lgirdwood and plbossart and removed request for lgirdwoodDecember 12, 2018 18:37

@plbossartplbossart left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the quick update

@plbossart
plbossart merged commit 685d182 into thesofproject:topic/sof-devDec 12, 2018
@ranj063
ranj063 deleted the fix/upstream1 branch March 22, 2019 17:08
naveen-manohar pushed a commit to naveen-manohar/linux that referenced this pull request May 23, 2019
[ Upstream commit afc9f65 ]
When building the kernel as Thumb-2 with binutils 2.29 or newer, if the
assembler has seen the .type directive (via ENDPROC()) for a symbol, it
automatically handles the setting of the lowest bit when the symbol is
used with ADR. The badr macro on the other hand handles this lowest bit
manually. This leads to a jump to a wrong address in the wrong state
in the syscall return path:
Internal error: Oops - undefined instruction: 0 [thesofproject#2] SMP THUMB2
Modules linked in:
CPU: 0 PID: 652 Comm: modprobe Tainted: G D 4.18.0-rc3+ thesofproject#8
PC is at ret_fast_syscall+0x4/0x62
LR is at sys_brk+0x109/0x128
pc : [<80101004>] lr : [<801c8a35>] psr: 60000013
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 50c5387d Table: 9e82006a DAC: 00000051
Process modprobe (pid: 652, stack limit = 0x(ptrval))
80101000 <ret_fast_syscall>:
80101000: b672 cpsid i
80101002: f8d9 2008 ldr.w r2, [r9, thesofproject#8]
80101006: f1b2 4ffe cmp.w r2, #2130706432 ; 0x7f000000
80101184 <local_restart>:
80101184: f8d9 a000 ldr.w sl, [r9]
80101188: e92d 0030 stmdb sp!, {r4, r5}
8010118c: f01a 0ff0 tst.w sl, thesofproject#240 ; 0xf0
80101190: d117 bne.n 801011c2 <__sys_trace>
80101192: 46ba mov sl, r7
80101194: f5ba 7fc8 cmp.w sl, thesofproject#400 ; 0x190
80101198: bf28 it cs
8010119a: f04f 0a00 movcs.w sl, #0
8010119e: f3af 8014 nop.w {20}
801011a2: f2af 1ea2 subw lr, pc, thesofproject#418 ; 0x1a2
To fix this, add a new symbol name which doesn't have ENDPROC used on it
and use that with badr. We can't remove the badr usage since that would
would cause breakage with older binutils.
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ranj063@plbossart