Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935498AbdCVRiT (ORCPT ); Wed, 22 Mar 2017 13:38:19 -0400 Received: from mx0a-00010702.pphosted.com ([148.163.156.75]:55529 "EHLO mx0b-00010702.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759029AbdCVRiJ (ORCPT ); Wed, 22 Mar 2017 13:38:09 -0400 Date: Wed, 22 Mar 2017 12:37:59 -0500 From: Julia Cartwright To: Lionel Debieve CC: , , , , Subject: Re: [PATCH RT 1/1] remoteproc: Prevent schedule while atomic Message-ID: <20170322173759.GK10423@jcartwri.amer.corp.natinst.com> References: <1490195923-9560-1-git-send-email-lionel.debieve@st.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1490195923-9560-1-git-send-email-lionel.debieve@st.com> User-Agent: Mutt/1.8.0 (2017-02-23) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-03-22_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1703220153 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-03-22_15:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=30 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=30 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1703220153 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1247 Lines: 35 On Wed, Mar 22, 2017 at 04:18:43PM +0100, Lionel Debieve wrote: > Use raw_spin_lock in enable/disable channel as it comes from > interrupt context. > > BUG: sleeping function called from invalid context at > kernel/locking/rtmutex.c:995 > in_atomic(): 1, irqs_disabled(): 128, pid: 307, name: pulseaudio > Preemption disabled at: > [] __handle_domain_irq+0x4c/0xec > CPU: 0 PID: 307 Comm: pulseaudio > Hardware name: STi SoC with Flattened Device Tree > [] (unwind_backtrace) > [] (show_stack) > [] (dump_stack) > [] (___might_sleep) > [] (rt_spin_lock) > [] (sti_mbox_disable_channel) > [] (sti_mbox_irq_handler) > [] (__handle_irq_event_percpu) > [] (handle_irq_event_percpu) > [] (handle_irq_event) > [] (handle_fasteoi_irq) > [] (generic_handle_irq) > [] (__handle_domain_irq) > [] (gic_handle_irq) Which kernel were you testing on, here? From what I can tell, this should have been fixed with Thomas's commit: 2a1d3ab8986d ("genirq: Handle force threading of irqs with primary and thread handler") Which landed in 4.4. It forces the primary handler to be threaded as well. Julia