summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch185
-rw-r--r--bcm2835-vchiq-use-interruptible-waits.patch1133
-rw-r--r--kernel.spec9
-rw-r--r--sources1
4 files changed, 5 insertions, 1323 deletions
diff --git a/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch b/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch
deleted file mode 100644
index e7ca70ab3..000000000
--- a/bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From patchwork Wed Jun 26 15:48:11 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
-X-Patchwork-Id: 11018115
-Return-Path:
- <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0546514BB
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Jun 2019 15:49:02 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E6FEC288DC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Jun 2019 15:49:01 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id DADF9288E5; Wed, 26 Jun 2019 15:49:01 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham
- version=3.3.1
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 73ADC288DC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Jun 2019 15:49:01 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
- Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
- Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
- References:List-Owner; bh=qjzvJkBweFVGZWCHd7cHawZMDpcLTzSf2CjoVEIv+0Q=; b=eu5
- ABKzcpImxwkRcYCdHG/4eTgYM8nrpBaJqeKW2TNWEhNUjvnfU8TgkbD4nsIXkBXSb/riyKYzEcGJo
- 91zXHR6clQ6yf7eRtaHSX9IMfiwGPTC2YQvr6vQ+CrVJs+xDhlH/1V1+9myF4ySIX+mLOnm+w3pgi
- j1JeP7vd7fpr8iyG29kaFoDH7FdC5Sw66TINVyaE5igT9yKcrFoAITGfRZevp1dd3uq5EKxs/+oo3
- 9BvpwHZ3Bdb+bWzFc9kS4udjL8V4+u7aesLq8tOOPLZab+W8ZW1iq4PHENzdHblrJyrK/2pGEECPx
- bVAV7MIHqms4tvAAyXSlPai0wU/j12A==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux))
- id 1hgAAK-00030G-Ny; Wed, 26 Jun 2019 15:48:56 +0000
-Received: from mout.gmx.net ([212.227.17.20])
- by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux))
- id 1hgAAH-0002yg-2E; Wed, 26 Jun 2019 15:48:54 +0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
- s=badeba3b8450; t=1561564113;
- bh=mWLTbdtxGfwZ13vnfxlQDfv6DzwTGycBEng3zNk/XaE=;
- h=X-UI-Sender-Class:From:To:Cc:Subject:Date;
- b=KYHDR8XZmzxft+7qC8J8cyQ71BSi6JkTsAhWvd+vK2f+YjWqjT42uTfrjNGCcQfdV
- Z9gkAVPhUJWqXcu/GipMjVfx/QmxN65eJI1oHCOZ/vhkhzCqY9CuiJjHWnxF6jmydK
- 5QSqYnKAOWM3NXmd6pWkd6wlKwIFV9zX8+x8R0gE=
-X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
-Received: from localhost.localdomain ([37.4.249.111]) by mail.gmx.com
- (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id
- 0LyS5K-1ibrK32soI-015u60; Wed, 26 Jun 2019 17:48:33 +0200
-From: Stefan Wahren <wahrenst@gmx.net>
-To: Eric Anholt <eric@anholt.net>,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Madhumitha Prabakaran <madhumithabiw@gmail.com>
-Subject: [PATCH V2] staging: bcm2835-camera: Restore return behavior of
- ctrl_set_bitrate()
-Date: Wed, 26 Jun 2019 17:48:11 +0200
-Message-Id: <1561564091-14248-1-git-send-email-wahrenst@gmx.net>
-X-Mailer: git-send-email 2.7.4
-X-Provags-ID: V03:K1:oGZaaF0VyX9aU1B2KlshIgSdbA6j0aZLN7PhhBatNb+3vHD/bim
- IAE1eOdpYqQunHD6Pg0lTq7WJELowblFluMBHzPg8LdD02e6QUAOnsxpP9+ZsegmN4310bJ
- qbWyOk73ZUf0L+ErExAilg9x9ygGjCdTujEDRrk0vloZc12lmdHMEA8VQs/4HDu6WGeOoac
- M59q+7daHAsSTIgJrRUuA==
-X-UI-Out-Filterresults: notjunk:1;V03:K0:+5QZJxEbxD4=:fxpwesVoxYf61efHxmcTKK
- BddiAtw8+v4csO9cTNV4qSFAebPmgWlPv8KyLXPbOQdcjOl72FUcevKvhsznxi/uv5leFw9uX
- Sr99W78EPj3EmJmQT1KZ8GMPWcB/hQa1h/t4bhjHByFu4VQ2xaIdpsJfZlFcR2poK1E6dEFT6
- jHlzWYjt2kP7anvsjMJvdSVILf9+ei6ysWz1aaMCKFLhxNUNmXH9onDdO8WOanGVr15zb+cVv
- N4ecxzj0SonMoADsz1UJqgwb8Pi5/me809KQd8pQ/GhKDeLPNwQPXJMMhRbyPgmg5bJVCRUgp
- MaMwDNiIn3qPl6t4jPx9uiSL5n47PAyt6vVlyufqp1lOr4EqgQFWp+2hknWJYJ8hzkBLgXrdZ
- gfNGAtlqG9MdHsJds/KNtpjNvF3iCuOWcIyBEGAYKZL78LQggOcIFSlHn+KZ9JU2t9jGJHKF7
- 0E7pkZuWJIQjaWnt7WTAiO/Pv3tNhKukGVQXG7OTxkwS3+BsXI+vBB+xtOP+syI1QFkP3h+5c
- 9HVQLB7CA73bkyul1AwmrHNV+OqITaTatTPFXsDojt54X59pz2G3SkQI5z8JZ2aq40Z3vwI6u
- lyMT+gPPFDx2aNm460FX8Gm+2BisA5xrkpjxb4KIDZvTRDCexntK3cadXRyX7GZQWc6poIcVf
- atWNWiKYv6KN6vA+lc2Ffl5FM8p7BFtkX4GA0GZ/XhMTvCqDtgxBdQ4sevKJ4riNMAvRuswrM
- BUrlhaRg3ElFPF3x+S73QaRmNmtv34L7puWW57WxrkKKSJS7Td0oZd1ktx6eAW1CA+I8RmOn3
- A+rcm/ZfBf00TXqxsq3/t9h4mL3cP4KhBAxtyYg4z4yjuWt8AmXR6GfvTwCxk+qioygsV6KyY
- 6yh532oUizARrL8gUwZBauRwgH5rk7e2BWINY86y8vr3nSBzocuIFAekTK42reIsJ+qq9OSD5
- IcQroenV1LixMtStvb6CiyHMHMqpxb+Buu+0bdl5qjKcUB4JxBA6KWMPC6Orj+Yf/GKaQlk+k
- VsgZBuZAUHsZFuULBdIsUg//MyQJ0q/13WL31BSqJX9SAMgHFgsGeDo4yAg4YSF2Mbh1EgZu7
- a3+bklRX7SG3Ts=
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20190626_084853_443115_5EF1DFC7
-X-CRM114-Status: GOOD ( 11.55 )
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devel@driverdev.osuosl.org, Stefan Wahren <wahrenst@gmx.net>,
- Dave Stevenson <dave.stevenson@raspberrypi.org>,
- Dan Carpenter <dan.carpenter@oracle.com>,
- linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="us-ascii"
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-The commit 52c4dfcead49 ("Staging: vc04_services: Cleanup in
-ctrl_set_bitrate()") changed the return behavior of ctrl_set_bitrate().
-We cannot do this because of a bug in the firmware, which breaks probing
-of bcm2835-camera:
-
- bcm2835-v4l2: mmal_init: failed to set all camera controls: -3
- Cleanup: Destroy video encoder
- Cleanup: Destroy image encoder
- Cleanup: Destroy video render
- Cleanup: Destroy camera
- bcm2835-v4l2: bcm2835_mmal_probe: mmal init failed: -3
- bcm2835-camera: probe of bcm2835-camera failed with error -3
-
-So restore the old behavior, add an explaining comment and a debug message
-to verify that the bug has been fixed in firmware.
-
-Fixes: 52c4dfcead49 ("Staging: vc04_services: Cleanup in ctrl_set_bitrate()")
-Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
-Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
----
- .../staging/vc04_services/bcm2835-camera/controls.c | 19 ++++++++++++++++---
- 1 file changed, 16 insertions(+), 3 deletions(-)
-
-Changes in V2:
-- add an explaining comment as suggest by Dan and Dave
-- add a debug message to verify the firmware behavior
-
---
-2.7.4
-
-diff --git a/drivers/staging/vc04_services/bcm2835-camera/controls.c b/drivers/staging/vc04_services/bcm2835-camera/controls.c
-index d60e378..c251164 100644
---- a/drivers/staging/vc04_services/bcm2835-camera/controls.c
-+++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c
-@@ -604,15 +604,28 @@ static int ctrl_set_bitrate(struct bm2835_mmal_dev *dev,
- struct v4l2_ctrl *ctrl,
- const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
- {
-+ int ret;
- struct vchiq_mmal_port *encoder_out;
-
- dev->capture.encode_bitrate = ctrl->val;
-
- encoder_out = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
-
-- return vchiq_mmal_port_parameter_set(dev->instance, encoder_out,
-- mmal_ctrl->mmal_id, &ctrl->val,
-- sizeof(ctrl->val));
-+ ret = vchiq_mmal_port_parameter_set(dev->instance, encoder_out,
-+ mmal_ctrl->mmal_id, &ctrl->val,
-+ sizeof(ctrl->val));
-+
-+ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
-+ "%s: After: mmal_ctrl:%p ctrl id:0x%x ctrl val:%d ret %d(%d)\n",
-+ __func__, mmal_ctrl, ctrl->id, ctrl->val, ret,
-+ (ret == 0 ? 0 : -EINVAL));
-+
-+ /*
-+ * Older firmware versions (pre July 2019) have a bug in handling
-+ * MMAL_PARAMETER_VIDEO_BIT_RATE that result in the call
-+ * returning -MMAL_MSG_STATUS_EINVAL. So ignore errors from this call.
-+ */
-+ return 0;
- }
-
- static int ctrl_set_bitrate_mode(struct bm2835_mmal_dev *dev,
diff --git a/bcm2835-vchiq-use-interruptible-waits.patch b/bcm2835-vchiq-use-interruptible-waits.patch
deleted file mode 100644
index 7f9e4f937..000000000
--- a/bcm2835-vchiq-use-interruptible-waits.patch
+++ /dev/null
@@ -1,1133 +0,0 @@
-From patchwork Thu May 9 14:31:33 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 10937231
-Return-Path:
- <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 40C4F1390
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:04 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2BBD428A62
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:04 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id 259A428AE0; Thu, 9 May 2019 14:32:04 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 415AA28B73
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:02 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=3uJvYwW6NsoePeXJ/5ZwETYJ0KPDLBZYP0UKnW2FJN4=; b=C5epWZQXitegMi
- If9WNmt+WIU1qZ5/Zf/K4VyHyLndbbGCz0fCiywJ6C2lL05k2rkyKPLD/5JD9WearPWtXUZKjfWel
- 4TaT/dbnBmWnFmxZh/HH6Esg+Nm+f0XTmfQX4CTfAa37AkyGpHcpGoR+JHCXe8tJXjKtdGG3S+9Jl
- l7TTzLJHyGUpJ6SOuB1s2T6hTBGi1fiJzUWjFZzONtMSbnu0gOhemwnL5paYqUdrs7KQq6BqZPU8Z
- 48BFzV3uTQ/ux271qzmUx1beTRSqKwtlzquZtS9PutYKyvIm9oyEglAsOkBBVUY+9b8B0HWoWkUvv
- w7rWaT6L1ZSjMthb9UtA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5T-0005hY-5q; Thu, 09 May 2019 14:31:55 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5P-0005fv-Tq; Thu, 09 May 2019 14:31:53 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 9E8A6AC7E;
- Thu, 9 May 2019 14:31:50 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: linux-kernel@vger.kernel.org
-Subject: [PATCH v3 1/4] staging: vchiq_2835_arm: revert "quit using custom
- down_interruptible()"
-Date: Thu, 9 May 2019 16:31:33 +0200
-Message-Id: <20190509143137.31254-2-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.21.0
-In-Reply-To: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-References: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20190509_073152_105160_D40F2444
-X-CRM114-Status: GOOD ( 13.03 )
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.21
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: stefan.wahren@i2se.com, devel@driverdev.osuosl.org,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Eric Anholt <eric@anholt.net>,
- linux-rpi-kernel@lists.infradead.org, dan.carpenter@oracle.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- linux-arm-kernel@lists.infradead.org
-Content-Type: text/plain; charset="us-ascii"
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-The killable version of down() is meant to be used on situations where
-it should not fail at all costs, but still have the convenience of being
-able to kill it if really necessary. VCHIQ doesn't fit this criteria, as
-it's mainly used as an interface to V4L2 and ALSA devices.
-
-Fixes: ff5979ad8636 ("staging: vchiq_2835_arm: quit using custom down_interruptible()")
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- .../staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index a9a22917ecdb..49d3b39b1059 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-@@ -514,7 +514,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
- (g_cache_line_size - 1)))) {
- char *fragments;
-
-- if (down_killable(&g_free_fragments_sema)) {
-+ if (down_interruptible(&g_free_fragments_sema) != 0) {
- cleanup_pagelistinfo(pagelistinfo);
- return NULL;
- }
-
-From patchwork Thu May 9 14:31:34 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 10937237
-Return-Path:
- <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 94E28933
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:36 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 80F8B28B78
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:36 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id 7D0F128B1B; Thu, 9 May 2019 14:32:36 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9B03628BB9
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:35 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=WHM2WEnAejOnk0J6GjEHKXrK0nKxgdLNq48dTkgDLgo=; b=i5Mm8gffWR7Rwq
- 4+uMDe6lJY5SKE65Kz4KtVkygMKsGS6oguaK3wvgh6OGo77kqnFU+0r6HHBQr3xb/0KJq4yq6IV9y
- auU1WltykbzEJmRd+Tj3oJX6kaz+Tqagk88AQMUCSuyB95Elbvxqr7Q0ro4NGwveXvkM0CY8EkAcR
- IvfNzMbS6tp0ZVcMflUHecbTThrfVr2H65WipivLLqS7FQtyly6cx1EkEyt3TV+53CAT2uY5l5wDb
- BD2hOBPWrdwsgGFk4plnPlYV71/jQEL6zqb7ScYMQ8PXEC+SIifPvonzmTaGsXAss7CyNQefMsp6U
- RSJQYwd9gv1L/MOawrgg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk61-0006Sg-ER; Thu, 09 May 2019 14:32:29 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5Q-0005fw-IZ; Thu, 09 May 2019 14:31:54 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 4DE02ACB1;
- Thu, 9 May 2019 14:31:51 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: linux-kernel@vger.kernel.org
-Subject: [PATCH v3 2/4] staging: vchiq: revert "switch to
- wait_for_completion_killable"
-Date: Thu, 9 May 2019 16:31:34 +0200
-Message-Id: <20190509143137.31254-3-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.21.0
-In-Reply-To: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-References: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20190509_073152_902395_DF67A86F
-X-CRM114-Status: GOOD ( 15.86 )
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.21
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: stefan.wahren@i2se.com, devel@driverdev.osuosl.org,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Eric Anholt <eric@anholt.net>,
- linux-rpi-kernel@lists.infradead.org, dan.carpenter@oracle.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- linux-arm-kernel@lists.infradead.org
-Content-Type: text/plain; charset="us-ascii"
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-The killable version of wait_for_completion() is meant to be used on
-situations where it should not fail at all costs, but still have the
-convenience of being able to kill it if really necessary. VCHIQ doesn't
-fit this criteria, as it's mainly used as an interface to V4L2 and ALSA
-devices.
-
-Fixes: a772f116702e ("staging: vchiq: switch to wait_for_completion_killable")
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- .../interface/vchiq_arm/vchiq_arm.c | 21 ++++++++++---------
- .../interface/vchiq_arm/vchiq_core.c | 21 ++++++++++---------
- .../interface/vchiq_arm/vchiq_util.c | 6 +++---
- 3 files changed, 25 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-index ab7d6a0ce94c..62d8f599e765 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-@@ -532,7 +532,8 @@ add_completion(VCHIQ_INSTANCE_T instance, VCHIQ_REASON_T reason,
- vchiq_log_trace(vchiq_arm_log_level,
- "%s - completion queue full", __func__);
- DEBUG_COUNT(COMPLETION_QUEUE_FULL_COUNT);
-- if (wait_for_completion_killable(&instance->remove_event)) {
-+ if (wait_for_completion_interruptible(
-+ &instance->remove_event)) {
- vchiq_log_info(vchiq_arm_log_level,
- "service_callback interrupted");
- return VCHIQ_RETRY;
-@@ -643,7 +644,7 @@ service_callback(VCHIQ_REASON_T reason, struct vchiq_header *header,
- }
-
- DEBUG_TRACE(SERVICE_CALLBACK_LINE);
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &user_service->remove_event)
- != 0) {
- vchiq_log_info(vchiq_arm_log_level,
-@@ -978,7 +979,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- has been closed until the client library calls the
- CLOSE_DELIVERED ioctl, signalling close_event. */
- if (user_service->close_pending &&
-- wait_for_completion_killable(
-+ wait_for_completion_interruptible(
- &user_service->close_event))
- status = VCHIQ_RETRY;
- break;
-@@ -1154,7 +1155,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
-
- DEBUG_TRACE(AWAIT_COMPLETION_LINE);
- mutex_unlock(&instance->completion_mutex);
-- rc = wait_for_completion_killable(
-+ rc = wait_for_completion_interruptible(
- &instance->insert_event);
- mutex_lock(&instance->completion_mutex);
- if (rc != 0) {
-@@ -1324,7 +1325,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- do {
- spin_unlock(&msg_queue_spinlock);
- DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &user_service->insert_event)) {
- vchiq_log_info(vchiq_arm_log_level,
- "DEQUEUE_MESSAGE interrupted");
-@@ -2328,7 +2329,7 @@ vchiq_keepalive_thread_func(void *v)
- while (1) {
- long rc = 0, uc = 0;
-
-- if (wait_for_completion_killable(&arm_state->ka_evt)
-+ if (wait_for_completion_interruptible(&arm_state->ka_evt)
- != 0) {
- vchiq_log_error(vchiq_susp_log_level,
- "%s interrupted", __func__);
-@@ -2579,7 +2580,7 @@ block_resume(struct vchiq_arm_state *arm_state)
- write_unlock_bh(&arm_state->susp_res_lock);
- vchiq_log_info(vchiq_susp_log_level, "%s wait for previously "
- "blocked clients", __func__);
-- if (wait_for_completion_killable_timeout(
-+ if (wait_for_completion_interruptible_timeout(
- &arm_state->blocked_blocker, timeout_val)
- <= 0) {
- vchiq_log_error(vchiq_susp_log_level, "%s wait for "
-@@ -2605,7 +2606,7 @@ block_resume(struct vchiq_arm_state *arm_state)
- write_unlock_bh(&arm_state->susp_res_lock);
- vchiq_log_info(vchiq_susp_log_level, "%s wait for resume",
- __func__);
-- if (wait_for_completion_killable_timeout(
-+ if (wait_for_completion_interruptible_timeout(
- &arm_state->vc_resume_complete, timeout_val)
- <= 0) {
- vchiq_log_error(vchiq_susp_log_level, "%s wait for "
-@@ -2812,7 +2813,7 @@ vchiq_arm_force_suspend(struct vchiq_state *state)
- do {
- write_unlock_bh(&arm_state->susp_res_lock);
-
-- rc = wait_for_completion_killable_timeout(
-+ rc = wait_for_completion_interruptible_timeout(
- &arm_state->vc_suspend_complete,
- msecs_to_jiffies(FORCE_SUSPEND_TIMEOUT_MS));
-
-@@ -2908,7 +2909,7 @@ vchiq_arm_allow_resume(struct vchiq_state *state)
- write_unlock_bh(&arm_state->susp_res_lock);
-
- if (resume) {
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &arm_state->vc_resume_complete) < 0) {
- vchiq_log_error(vchiq_susp_log_level,
- "%s interrupted", __func__);
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index 0c387b6473a5..c65cf1e6f910 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-@@ -560,7 +560,7 @@ reserve_space(struct vchiq_state *state, size_t space, int is_blocking)
- remote_event_signal(&state->remote->trigger);
-
- if (!is_blocking ||
-- (wait_for_completion_killable(
-+ (wait_for_completion_interruptible(
- &state->slot_available_event)))
- return NULL; /* No space available */
- }
-@@ -830,7 +830,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- spin_unlock(&quota_spinlock);
- mutex_unlock(&state->slot_mutex);
-
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &state->data_quota_event))
- return VCHIQ_RETRY;
-
-@@ -861,7 +861,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- service_quota->slot_use_count);
- VCHIQ_SERVICE_STATS_INC(service, quota_stalls);
- mutex_unlock(&state->slot_mutex);
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &service_quota->quota_event))
- return VCHIQ_RETRY;
- if (service->closing)
-@@ -1710,7 +1710,8 @@ parse_rx_slots(struct vchiq_state *state)
- &service->bulk_rx : &service->bulk_tx;
-
- DEBUG_TRACE(PARSE_LINE);
-- if (mutex_lock_killable(&service->bulk_mutex)) {
-+ if (mutex_lock_killable(
-+ &service->bulk_mutex) != 0) {
- DEBUG_TRACE(PARSE_LINE);
- goto bail_not_ready;
- }
-@@ -2428,7 +2429,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id)
- QMFLAGS_IS_BLOCKING);
- if (status == VCHIQ_SUCCESS) {
- /* Wait for the ACK/NAK */
-- if (wait_for_completion_killable(&service->remove_event)) {
-+ if (wait_for_completion_interruptible(&service->remove_event)) {
- status = VCHIQ_RETRY;
- vchiq_release_service_internal(service);
- } else if ((service->srvstate != VCHIQ_SRVSTATE_OPEN) &&
-@@ -2795,7 +2796,7 @@ vchiq_connect_internal(struct vchiq_state *state, VCHIQ_INSTANCE_T instance)
- }
-
- if (state->conn_state == VCHIQ_CONNSTATE_CONNECTING) {
-- if (wait_for_completion_killable(&state->connect))
-+ if (wait_for_completion_interruptible(&state->connect))
- return VCHIQ_RETRY;
-
- vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED);
-@@ -2894,7 +2895,7 @@ vchiq_close_service(VCHIQ_SERVICE_HANDLE_T handle)
- }
-
- while (1) {
-- if (wait_for_completion_killable(&service->remove_event)) {
-+ if (wait_for_completion_interruptible(&service->remove_event)) {
- status = VCHIQ_RETRY;
- break;
- }
-@@ -2955,7 +2956,7 @@ vchiq_remove_service(VCHIQ_SERVICE_HANDLE_T handle)
- request_poll(service->state, service, VCHIQ_POLL_REMOVE);
- }
- while (1) {
-- if (wait_for_completion_killable(&service->remove_event)) {
-+ if (wait_for_completion_interruptible(&service->remove_event)) {
- status = VCHIQ_RETRY;
- break;
- }
-@@ -3038,7 +3039,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
- VCHIQ_SERVICE_STATS_INC(service, bulk_stalls);
- do {
- mutex_unlock(&service->bulk_mutex);
-- if (wait_for_completion_killable(
-+ if (wait_for_completion_interruptible(
- &service->bulk_remove_event)) {
- status = VCHIQ_RETRY;
- goto error_exit;
-@@ -3115,7 +3116,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
-
- if (bulk_waiter) {
- bulk_waiter->bulk = bulk;
-- if (wait_for_completion_killable(&bulk_waiter->event))
-+ if (wait_for_completion_interruptible(&bulk_waiter->event))
- status = VCHIQ_RETRY;
- else if (bulk_waiter->actual == VCHIQ_BULK_ACTUAL_ABORTED)
- status = VCHIQ_ERROR;
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
-index 6c519d8e48cb..8ee85c5e6f77 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
-@@ -50,7 +50,7 @@ void vchiu_queue_push(struct vchiu_queue *queue, struct vchiq_header *header)
- return;
-
- while (queue->write == queue->read + queue->size) {
-- if (wait_for_completion_killable(&queue->pop))
-+ if (wait_for_completion_interruptible(&queue->pop))
- flush_signals(current);
- }
-
-@@ -63,7 +63,7 @@ void vchiu_queue_push(struct vchiu_queue *queue, struct vchiq_header *header)
- struct vchiq_header *vchiu_queue_peek(struct vchiu_queue *queue)
- {
- while (queue->write == queue->read) {
-- if (wait_for_completion_killable(&queue->push))
-+ if (wait_for_completion_interruptible(&queue->push))
- flush_signals(current);
- }
-
-@@ -77,7 +77,7 @@ struct vchiq_header *vchiu_queue_pop(struct vchiu_queue *queue)
- struct vchiq_header *header;
-
- while (queue->write == queue->read) {
-- if (wait_for_completion_killable(&queue->push))
-+ if (wait_for_completion_interruptible(&queue->push))
- flush_signals(current);
- }
-
-
-From patchwork Thu May 9 14:31:35 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 10937235
-Return-Path:
- <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC5351390
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:19 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 99D2728B65
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:19 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id 97D1428BB1; Thu, 9 May 2019 14:32:19 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 33B1628B65
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:19 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=MppKCYBfq+FT3jZK/ObU3v+sP2fM91OxPw5GM5vFK98=; b=uphpQaXY93kD4n
- qgHpU2dYayllgFMmHqHFKy8338sx7Rh7Whh12IOevJXT84Q43VFK/WoIk4//t7jh/pJYQfoRlmCnH
- KJHT2uWjj2un8BkoTRQSR/fEO+EvLPI5n280twRaGYJQq1A5XprnriWSETDsTkgMcbt8Cj71kph8s
- qqNkS1hkZGFOgh8B8EYP9MUwadwoYKkvovcJziv4ODUl/xaXoz9ST9ipqUpxRNyDnhj3gS0xGP4mU
- eN4swml2LB//9oH9D3bt9GgKJhvURUm/vIKuBhCWQdYrfUPZNfPvIHwTyJStjhkiSuyN+i/yh/u0d
- aVqlnEW/g+94vRfkoSfw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5p-0006Ao-3W; Thu, 09 May 2019 14:32:17 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5R-0005gN-Bk; Thu, 09 May 2019 14:31:54 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 1944EACBA;
- Thu, 9 May 2019 14:31:52 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: linux-kernel@vger.kernel.org
-Subject: [PATCH v3 3/4] staging: vchiq: make wait events interruptible
-Date: Thu, 9 May 2019 16:31:35 +0200
-Message-Id: <20190509143137.31254-4-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.21.0
-In-Reply-To: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-References: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20190509_073153_546153_CF6CDC2C
-X-CRM114-Status: GOOD ( 12.69 )
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.21
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: stefan.wahren@i2se.com, devel@driverdev.osuosl.org,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Eric Anholt <eric@anholt.net>,
- linux-rpi-kernel@lists.infradead.org, dan.carpenter@oracle.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- linux-arm-kernel@lists.infradead.org
-Content-Type: text/plain; charset="us-ascii"
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-The killable version of wait_event() is meant to be used on situations
-where it should not fail at all costs, but still have the convenience of
-being able to kill it if really necessary. Wait events in VCHIQ doesn't
-fit this criteria, as it's mainly used as an interface to V4L2 and ALSA
-devices.
-
-Fixes: 852b2876a8a8 ("staging: vchiq: rework remove_event handling")
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- .../vc04_services/interface/vchiq_arm/vchiq_core.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index c65cf1e6f910..44bfa890e0e5 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-@@ -395,13 +395,21 @@ remote_event_create(wait_queue_head_t *wq, struct remote_event *event)
- init_waitqueue_head(wq);
- }
-
-+/*
-+ * All the event waiting routines in VCHIQ used a custom semaphore
-+ * implementation that filtered most signals. This achieved a behaviour similar
-+ * to the "killable" family of functions. While cleaning up this code all the
-+ * routines where switched to the "interruptible" family of functions, as the
-+ * former was deemed unjustified and the use "killable" set all VCHIQ's
-+ * threads in D state.
-+ */
- static inline int
- remote_event_wait(wait_queue_head_t *wq, struct remote_event *event)
- {
- if (!event->fired) {
- event->armed = 1;
- dsb(sy);
-- if (wait_event_killable(*wq, event->fired)) {
-+ if (wait_event_interruptible(*wq, event->fired)) {
- event->armed = 0;
- return 0;
- }
-
-From patchwork Thu May 9 14:31:36 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 10937239
-Return-Path:
- <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
-Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
- [172.30.200.125])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 662BC1390
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:50 +0000 (UTC)
-Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
- by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 532DC289F8
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:50 +0000 (UTC)
-Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
- id 5123C28A77; Thu, 9 May 2019 14:32:50 +0000 (UTC)
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- pdx-wl-mail.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 171A028AE6
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Thu, 9 May 2019 14:32:49 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=hbC4fga5OSh0T15ei+AWcZjFFpeyd4eloz75PA9+ZSQ=; b=hjJnppgChnF+da
- gJbdcmOJUMpkaSPdRWwyDVndPiJqHfiacAhGzKZsMAPsymWXz2DiL4/KVE0ULmkTm5MwapaxCUliU
- gdQQ7xNOT1yyCrlMWcXYZJaeDl06ngVfgu6QoNWN02uPS55159ez5rPNpCYtA0+5npkWsREnjEF6q
- 4lo12R4nB6W62VLSy5Y1/37KoyYfIaaZOJoK3i15rKYrXoKn12hjF/2DwmVuhTA+NaadTByQyDE86
- 0A91ewtqOH/KTMHTJDQrG29q03l5LAI2l6Zr5tfz23o2jLCy+3F5vZCnXTYcGxYNNJUATVmobezZj
- sxUS8TZjBOuPCowBB22g==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk6E-0006kx-RW; Thu, 09 May 2019 14:32:42 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
- id 1hOk5T-0005hX-0e; Thu, 09 May 2019 14:32:02 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id AC869ACBC;
- Thu, 9 May 2019 14:31:53 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>,
- Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
- Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com
-Subject: [PATCH v3 4/4] staging: vchiq: stop explicitly comparing with zero to
- catch errors
-Date: Thu, 9 May 2019 16:31:36 +0200
-Message-Id: <20190509143137.31254-5-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.21.0
-In-Reply-To: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-References: <20190509143137.31254-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20190509_073155_533318_B386BD76
-X-CRM114-Status: GOOD ( 17.98 )
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.21
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devel@driverdev.osuosl.org,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- linux-kernel@vger.kernel.org,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- dan.carpenter@oracle.com, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Content-Type: text/plain; charset="us-ascii"
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-X-Virus-Scanned: ClamAV using ClamSMTP
-
-The vchiq code tends to follow a coding pattern that's not accepted as
-per the Linux kernel coding style
-
-We have this:
- if (expression != 0)
-
-We want this:
- if (expression)
-
-We make an exception if the expression refers to a size, in which case
-it's accepted for the sake of clarity.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- .../bcm2835-camera/bcm2835-camera.c | 11 ++--
- .../interface/vchiq_arm/vchiq_2835_arm.c | 2 +-
- .../interface/vchiq_arm/vchiq_arm.c | 66 ++++++++-----------
- .../interface/vchiq_arm/vchiq_connected.c | 4 +-
- .../interface/vchiq_arm/vchiq_core.c | 28 ++++----
- .../interface/vchiq_arm/vchiq_debugfs.c | 4 +-
- 6 files changed, 52 insertions(+), 63 deletions(-)
-
-diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
-index 68f08dc18da9..57f79c153277 100644
---- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
-+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
-@@ -327,7 +327,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
- "%s: status:%d, buf:%p, length:%lu, flags %u, pts %lld\n",
- __func__, status, buf, length, mmal_flags, pts);
-
-- if (status != 0) {
-+ if (status) {
- /* error in transfer */
- if (buf) {
- /* there was a buffer with the error so return it */
-@@ -359,8 +359,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
- }
- } else {
- if (dev->capture.frame_count) {
-- if (dev->capture.vc_start_timestamp != -1 &&
-- pts != 0) {
-+ if (dev->capture.vc_start_timestamp != -1 && pts) {
- ktime_t timestamp;
- s64 runtime_us = pts -
- dev->capture.vc_start_timestamp;
-@@ -826,7 +825,7 @@ static int vidioc_enum_input(struct file *file, void *priv,
- struct v4l2_input *inp)
- {
- /* only a single camera input */
-- if (inp->index != 0)
-+ if (inp->index)
- return -EINVAL;
-
- inp->type = V4L2_INPUT_TYPE_CAMERA;
-@@ -842,7 +841,7 @@ static int vidioc_g_input(struct file *file, void *priv, unsigned int *i)
-
- static int vidioc_s_input(struct file *file, void *priv, unsigned int i)
- {
-- if (i != 0)
-+ if (i)
- return -EINVAL;
-
- return 0;
-@@ -1281,7 +1280,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
- }
-
- ret = mmal_setup_components(dev, f);
-- if (ret != 0) {
-+ if (ret) {
- v4l2_err(&dev->v4l2_dev,
- "%s: failed to setup mmal components: %d\n",
- __func__, ret);
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index 49d3b39b1059..cb588c0b9364 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-@@ -514,7 +514,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
- (g_cache_line_size - 1)))) {
- char *fragments;
-
-- if (down_interruptible(&g_free_fragments_sema) != 0) {
-+ if (down_interruptible(&g_free_fragments_sema)) {
- cleanup_pagelistinfo(pagelistinfo);
- return NULL;
- }
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-index 62d8f599e765..9264a07cf160 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-@@ -238,7 +238,7 @@ VCHIQ_STATUS_T vchiq_shutdown(VCHIQ_INSTANCE_T instance)
- vchiq_log_trace(vchiq_core_log_level,
- "%s(%p) called", __func__, instance);
-
-- if (mutex_lock_killable(&state->mutex) != 0)
-+ if (mutex_lock_killable(&state->mutex))
- return VCHIQ_RETRY;
-
- /* Remove all services */
-@@ -280,7 +280,7 @@ VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance)
- vchiq_log_trace(vchiq_core_log_level,
- "%s(%p) called", __func__, instance);
-
-- if (mutex_lock_killable(&state->mutex) != 0) {
-+ if (mutex_lock_killable(&state->mutex)) {
- vchiq_log_trace(vchiq_core_log_level,
- "%s: call to mutex_lock failed", __func__);
- status = VCHIQ_RETRY;
-@@ -645,8 +645,7 @@ service_callback(VCHIQ_REASON_T reason, struct vchiq_header *header,
-
- DEBUG_TRACE(SERVICE_CALLBACK_LINE);
- if (wait_for_completion_interruptible(
-- &user_service->remove_event)
-- != 0) {
-+ &user_service->remove_event)) {
- vchiq_log_info(vchiq_arm_log_level,
- "%s interrupted", __func__);
- DEBUG_TRACE(SERVICE_CALLBACK_LINE);
-@@ -850,7 +849,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- break;
- }
- rc = mutex_lock_killable(&instance->state->mutex);
-- if (rc != 0) {
-+ if (rc) {
- vchiq_log_error(vchiq_arm_log_level,
- "vchiq: connect: could not lock mutex for "
- "state %d: %d",
-@@ -874,9 +873,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- void *userdata;
- int srvstate;
-
-- if (copy_from_user
-- (&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ if (copy_from_user(&args, (const void __user *)arg,
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -940,7 +938,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- &(((struct vchiq_create_service __user *)
- arg)->handle),
- (const void *)&service->handle,
-- sizeof(service->handle)) != 0) {
-+ sizeof(service->handle))) {
- ret = -EFAULT;
- vchiq_remove_service(service->handle);
- }
-@@ -1015,9 +1013,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- case VCHIQ_IOC_QUEUE_MESSAGE: {
- struct vchiq_queue_message args;
-
-- if (copy_from_user
-- (&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ if (copy_from_user(&args, (const void __user *)arg,
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -1049,9 +1046,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- (cmd == VCHIQ_IOC_QUEUE_BULK_TRANSMIT) ?
- VCHIQ_BULK_TRANSMIT : VCHIQ_BULK_RECEIVE;
-
-- if (copy_from_user
-- (&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ if (copy_from_user(&args, (const void __user *)arg,
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -1125,7 +1121,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- &(((struct vchiq_queue_bulk_transfer __user *)
- arg)->mode),
- (const void *)&mode_waiting,
-- sizeof(mode_waiting)) != 0)
-+ sizeof(mode_waiting)))
- ret = -EFAULT;
- }
- } break;
-@@ -1140,7 +1136,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- }
-
- if (copy_from_user(&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -1158,7 +1154,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- rc = wait_for_completion_interruptible(
- &instance->insert_event);
- mutex_lock(&instance->completion_mutex);
-- if (rc != 0) {
-+ if (rc) {
- DEBUG_TRACE(AWAIT_COMPLETION_LINE);
- vchiq_log_info(vchiq_arm_log_level,
- "AWAIT_COMPLETION interrupted");
-@@ -1224,7 +1220,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- if (copy_from_user(&msgbuf,
- (const void __user *)
- &args.msgbufs[msgbufcount],
-- sizeof(msgbuf)) != 0) {
-+ sizeof(msgbuf))) {
- if (ret == 0)
- ret = -EFAULT;
- break;
-@@ -1232,7 +1228,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
-
- /* Copy the message to user space */
- if (copy_to_user(msgbuf, header,
-- msglen) != 0) {
-+ msglen)) {
- if (ret == 0)
- ret = -EFAULT;
- break;
-@@ -1257,8 +1253,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- (size_t)args.buf + ret *
- sizeof(struct vchiq_completion_data)),
- completion,
-- sizeof(struct vchiq_completion_data))
-- != 0) {
-+ sizeof(struct vchiq_completion_data))) {
- if (ret == 0)
- ret = -EFAULT;
- break;
-@@ -1278,13 +1273,13 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- &((struct vchiq_await_completion *)arg)
- ->msgbufcount,
- &msgbufcount,
-- sizeof(msgbufcount)) != 0) {
-+ sizeof(msgbufcount))) {
- ret = -EFAULT;
- }
- }
- }
-
-- if (ret != 0)
-+ if (ret)
- complete(&instance->remove_event);
- mutex_unlock(&instance->completion_mutex);
- DEBUG_TRACE(AWAIT_COMPLETION_LINE);
-@@ -1296,9 +1291,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- struct vchiq_header *header;
-
- DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
-- if (copy_from_user
-- (&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ if (copy_from_user(&args, (const void __user *)arg,
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -1384,7 +1378,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- struct vchiq_config config;
-
- if (copy_from_user(&args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -1403,9 +1397,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
- case VCHIQ_IOC_SET_SERVICE_OPTION: {
- struct vchiq_set_service_option args;
-
-- if (copy_from_user(
-- &args, (const void __user *)arg,
-- sizeof(args)) != 0) {
-+ if (copy_from_user(&args, (const void __user *)arg,
-+ sizeof(args))) {
- ret = -EFAULT;
- break;
- }
-@@ -2329,8 +2322,7 @@ vchiq_keepalive_thread_func(void *v)
- while (1) {
- long rc = 0, uc = 0;
-
-- if (wait_for_completion_interruptible(&arm_state->ka_evt)
-- != 0) {
-+ if (wait_for_completion_interruptible(&arm_state->ka_evt)) {
- vchiq_log_error(vchiq_susp_log_level,
- "%s interrupted", __func__);
- flush_signals(current);
-@@ -3011,7 +3003,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
- vchiq_log_info(vchiq_susp_log_level, "%s %s resume "
- "blocked - waiting...", __func__, entity);
- if (wait_for_completion_killable(
-- &arm_state->resume_blocker) != 0) {
-+ &arm_state->resume_blocker)) {
- vchiq_log_error(vchiq_susp_log_level, "%s %s "
- "wait for resume blocker interrupted",
- __func__, entity);
-@@ -3060,7 +3052,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
- vchiq_log_info(vchiq_susp_log_level, "%s %s wait for resume",
- __func__, entity);
- if (wait_for_completion_killable(
-- &arm_state->vc_resume_complete) != 0) {
-+ &arm_state->vc_resume_complete)) {
- vchiq_log_error(vchiq_susp_log_level, "%s %s wait for "
- "resume interrupted", __func__, entity);
- ret = VCHIQ_ERROR;
-@@ -3505,13 +3497,13 @@ static int vchiq_probe(struct platform_device *pdev)
- platform_set_drvdata(pdev, drvdata);
-
- err = vchiq_platform_init(pdev, &g_state);
-- if (err != 0)
-+ if (err)
- goto failed_platform_init;
-
- cdev_init(&vchiq_cdev, &vchiq_fops);
- vchiq_cdev.owner = THIS_MODULE;
- err = cdev_add(&vchiq_cdev, vchiq_devid, 1);
-- if (err != 0) {
-+ if (err) {
- vchiq_log_error(vchiq_arm_log_level,
- "Unable to register device");
- goto failed_platform_init;
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c
-index e87e6619695e..1640906e3929 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c
-@@ -41,7 +41,7 @@ void vchiq_add_connected_callback(VCHIQ_CONNECTED_CALLBACK_T callback)
- {
- connected_init();
-
-- if (mutex_lock_killable(&g_connected_mutex) != 0)
-+ if (mutex_lock_killable(&g_connected_mutex))
- return;
-
- if (g_connected)
-@@ -76,7 +76,7 @@ void vchiq_call_connected_callbacks(void)
-
- connected_init();
-
-- if (mutex_lock_killable(&g_connected_mutex) != 0)
-+ if (mutex_lock_killable(&g_connected_mutex))
- return;
-
- for (i = 0; i < g_num_deferred_callbacks; i++)
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index 44bfa890e0e5..44f0eb64952a 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-@@ -800,7 +800,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- WARN_ON(!(stride <= VCHIQ_SLOT_SIZE));
-
- if (!(flags & QMFLAGS_NO_MUTEX_LOCK) &&
-- (mutex_lock_killable(&state->slot_mutex) != 0))
-+ mutex_lock_killable(&state->slot_mutex))
- return VCHIQ_RETRY;
-
- if (type == VCHIQ_MSG_DATA) {
-@@ -812,8 +812,8 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- return VCHIQ_ERROR;
- }
-
-- WARN_ON((flags & (QMFLAGS_NO_MUTEX_LOCK |
-- QMFLAGS_NO_MUTEX_UNLOCK)) != 0);
-+ WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK |
-+ QMFLAGS_NO_MUTEX_UNLOCK));
-
- if (service->closing) {
- /* The service has been closed */
-@@ -874,7 +874,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- return VCHIQ_RETRY;
- if (service->closing)
- return VCHIQ_ERROR;
-- if (mutex_lock_killable(&state->slot_mutex) != 0)
-+ if (mutex_lock_killable(&state->slot_mutex))
- return VCHIQ_RETRY;
- if (service->srvstate != VCHIQ_SRVSTATE_OPEN) {
- /* The service has been closed */
-@@ -912,8 +912,8 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
- header, size, VCHIQ_MSG_SRCPORT(msgid),
- VCHIQ_MSG_DSTPORT(msgid));
-
-- WARN_ON((flags & (QMFLAGS_NO_MUTEX_LOCK |
-- QMFLAGS_NO_MUTEX_UNLOCK)) != 0);
-+ WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK |
-+ QMFLAGS_NO_MUTEX_UNLOCK));
-
- callback_result =
- copy_message_data(copy_callback, context,
-@@ -1040,8 +1040,8 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service,
-
- local = state->local;
-
-- if ((VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_RESUME) &&
-- (mutex_lock_killable(&state->sync_mutex) != 0))
-+ if (VCHIQ_MSG_TYPE(msgid) != VCHIQ_MSG_RESUME &&
-+ mutex_lock_killable(&state->sync_mutex))
- return VCHIQ_RETRY;
-
- remote_event_wait(&state->sync_release_event, &local->sync_release);
-@@ -1718,8 +1718,7 @@ parse_rx_slots(struct vchiq_state *state)
- &service->bulk_rx : &service->bulk_tx;
-
- DEBUG_TRACE(PARSE_LINE);
-- if (mutex_lock_killable(
-- &service->bulk_mutex) != 0) {
-+ if (mutex_lock_killable(&service->bulk_mutex)) {
- DEBUG_TRACE(PARSE_LINE);
- goto bail_not_ready;
- }
-@@ -2523,7 +2522,7 @@ do_abort_bulks(struct vchiq_service *service)
- VCHIQ_STATUS_T status;
-
- /* Abort any outstanding bulk transfers */
-- if (mutex_lock_killable(&service->bulk_mutex) != 0)
-+ if (mutex_lock_killable(&service->bulk_mutex))
- return 0;
- abort_outstanding_bulks(service, &service->bulk_tx);
- abort_outstanding_bulks(service, &service->bulk_rx);
-@@ -3038,7 +3037,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
- queue = (dir == VCHIQ_BULK_TRANSMIT) ?
- &service->bulk_tx : &service->bulk_rx;
-
-- if (mutex_lock_killable(&service->bulk_mutex) != 0) {
-+ if (mutex_lock_killable(&service->bulk_mutex)) {
- status = VCHIQ_RETRY;
- goto error_exit;
- }
-@@ -3052,8 +3051,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
- status = VCHIQ_RETRY;
- goto error_exit;
- }
-- if (mutex_lock_killable(&service->bulk_mutex)
-- != 0) {
-+ if (mutex_lock_killable(&service->bulk_mutex)) {
- status = VCHIQ_RETRY;
- goto error_exit;
- }
-@@ -3081,7 +3079,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
-
- /* The slot mutex must be held when the service is being closed, so
- claim it here to ensure that isn't happening */
-- if (mutex_lock_killable(&state->slot_mutex) != 0) {
-+ if (mutex_lock_killable(&state->slot_mutex)) {
- status = VCHIQ_RETRY;
- goto cancel_bulk_error_exit;
- }
-diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
-index 2bb9120883fd..f217b78d95a0 100644
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
-@@ -86,7 +86,7 @@ static ssize_t debugfs_log_write(struct file *file,
- if (count >= DEBUGFS_WRITE_BUF_SIZE)
- count = DEBUGFS_WRITE_BUF_SIZE;
-
-- if (copy_from_user(kbuf, buffer, count) != 0)
-+ if (copy_from_user(kbuf, buffer, count))
- return -EFAULT;
- kbuf[count - 1] = 0;
-
-@@ -151,7 +151,7 @@ static ssize_t debugfs_trace_write(struct file *file,
- VCHIQ_INSTANCE_T instance = f->private;
- char firstchar;
-
-- if (copy_from_user(&firstchar, buffer, 1) != 0)
-+ if (copy_from_user(&firstchar, buffer, 1))
- return -EFAULT;
-
- switch (firstchar) {
diff --git a/kernel.spec b/kernel.spec
index 882dfd423..9d71ce107 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -56,7 +56,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 0
+%define stable_update 1
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -562,10 +562,6 @@ Patch330: ARM-cpufreq-support-for-Raspberry-Pi.patch
Patch331: watchdog-bcm2835_wdt-Fix-module-autoload.patch
-Patch332: bcm2835-camera-Restore-return-behavior-of-ctrl_set_bitrate.patch
-
-Patch333: bcm2835-vchiq-use-interruptible-waits.patch
-
# Tegra bits
Patch340: arm64-tegra-jetson-tx1-fixes.patch
@@ -1836,6 +1832,9 @@ fi
#
#
%changelog
+* Sat Jul 20 2019 Justin M. Forbes <jforbes@redhat.com> - 5.2.1-200
+- Linux v5.2.1
+
* Sat Jul 20 2019 Hans de Goede <hdegoede@redhat.com>
- Fix the LCD panel orientation on the GPD MicroPC
diff --git a/sources b/sources
index 6829e2ef2..6130c002e 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
SHA512 (linux-5.2.tar.xz) = 5a28f8a34c4e0470617f5638b7112e6252109b78f23b1eed484a228530970c7ef5c130d6e5a09cf25ea2f6a0329602dcc1ec66ce893182e15b27d99bd228789c
+SHA512 (patch-5.2.1.xz) = 468267dd4fe39bd6f0652382bd251432c0ac920b27bea403f65278cf0ab3b5af4162423b8c719f0c927bc9399af0762026e737d9987b44b08a92f2ef5a9bc2ff