From patchwork Thu Jan 27 11:32:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 537324 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E119EC433EF for ; Thu, 27 Jan 2022 11:33:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240426AbiA0LdO (ORCPT ); Thu, 27 Jan 2022 06:33:14 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:35616 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240422AbiA0LdN (ORCPT ); Thu, 27 Jan 2022 06:33:13 -0500 From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1643283192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=mYuhfjkgxLhE5J8QB5lsf+7ptUPDT96pRbbQPehAdC8=; b=XZCFerNUAmzCKjtqqGZwMhE9HSLl1QSDm2Q8IIOFsTVkH0Ajuh7tbVE3b450WaT3A5txzB h+M8uUgiQFmnLlpOlJR8+PZ6naF2+gpYPSawH9bTTZb6jMnXy8q7msFSx34FUYYiPT+Z8o kg0PCUg5FDRvNQn/tNgZYUtv5fmgkeUg+W2ouBsbS3Uyz+6iilSrRrSf3ZaPp5brxJ0tWg 8rU+bFShHVDZmV4DlAxV/xw/Ub2+a9arOZc4gCByObSBEJS2rUqzLr5/AGk0jA7oonhXdJ SiGhhT4K75i/WNxqqMQc2k/ucIbPqYMekysfWa6QeXXYxFppvAvz9TtPOj48Ng== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1643283192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=mYuhfjkgxLhE5J8QB5lsf+7ptUPDT96pRbbQPehAdC8=; b=GhwP9tvTaIPi+tfKsIwn4x++BLWbtaW9ubbbR0b2mwK09vTxnXqK716l0qaHvLBem+lW0L odIz4rEwqEU8I/Bw== To: greybus-dev@lists.linaro.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-usb@vger.kernel.org, netdev@vger.kernel.org Cc: "David S. Miller" , Alex Elder , Arnd Bergmann , Greg Kroah-Hartman , Hans de Goede , Jakub Kicinski , Johan Hovold , Lee Jones , Rui Miguel Silva , Thomas Gleixner , UNGLinuxDriver@microchip.com, Wolfram Sang , Woojung Huh Subject: [PATCH 0/7] Provide and use generic_handle_irq_safe() where appropriate. Date: Thu, 27 Jan 2022 12:32:56 +0100 Message-Id: <20220127113303.3012207-1-bigeasy@linutronix.de> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org generic_handle_irq() must be used from primary IRQ-handler (chain handler/ interrupt controller entry). It is low level code and the function expects that interrupts are disabled at entry point. This isn't the case for invocations from tasklets, workqueues or the primary interrupt handler on PREEMPT_RT. Once this gets noticed a "local_irq_disable|safe()" is added. To avoid further confusion this series adds generic_handle_irq_safe() which can be used from any context and adds a few user. Sebastian Reviewed-by: Oleksandr Natalenko Acked-by: Wolfram Sang