From patchwork Mon Jan 31 12:33:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 538585 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 0A27DC433F5 for ; Mon, 31 Jan 2022 12:34:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348755AbiAaMea (ORCPT ); Mon, 31 Jan 2022 07:34:30 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:59374 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233466AbiAaMe3 (ORCPT ); Mon, 31 Jan 2022 07:34:29 -0500 From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1643632468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dBEcvYbqh//2SnFN4JWRklzkIk5olbEekSf6NVi12CY=; b=yNZw9EXdb1mDwgxZOVAqVOHqbkDbwhiToYVizl0NUvcbg02zHcXDZFlrsEYqZbiqir84YN fo7so0sY/5unvwFx2o5YLNwgNctM6VnaPMeDuGlWpK9/z1SZnKBke+HRXZ1k2JqjgxcDBX w1qQ4WthhO3RuhmD6ENYU5Rh04gyVDDQMn7p+bWxrAhWEs2wgGfsDBe+Ts+oDiFbB38GSi EYO5tE6N5z5KM9qRdvmlgprX6i0vaOiTN1okppQLcnWO1vLwyAlnSvqqJ2mOtCUWJ4ZIIx zUHSmieBmCo/2NHEa6eTi6qpR8/NSDEnSau0yvPh+WR/aeMpzF1mnMRaYfSP4Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1643632468; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dBEcvYbqh//2SnFN4JWRklzkIk5olbEekSf6NVi12CY=; b=ke3JpB/kI9Ysv7q2qZM4iV96Dcn8lW3H1+UnjRbVekC1PwvCwqvPwSUA4TNEDdiaWZJXep 5hoRRl/crBvrm7Dw== 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 , Sebastian Andrzej Siewior Subject: [PATCH v2 0/7] Provide and use generic_handle_irq_safe() where appropriate. Date: Mon, 31 Jan 2022 13:33:57 +0100 Message-Id: <20220131123404.175438-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. v2…v1: - Redo kernel-doc for generic_handle_irq_safe() in #1. - Use generic_handle_irq_safe() instead of generic_handle_irq() in the patch description where I accidently used the wrong one. v1: https://lore.kernel.org/all/20220127113303.3012207-1-bigeasy@linutronix.de/ Sebastian Acked-by: Greg Kroah-Hartman Acked-by: Johan Hovold