This is a note to let you know that I've just added the patch titled
drivers: net: xgene: Fix hardware checksum setting
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
drivers-net-xgene-fix-hardware-checksum-setting.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Quan Nguyen <qnguyen(a)apm.com>
Date: Wed, 15 Mar 2017 13:27:16 -0700
Subject: drivers: net: xgene: Fix hardware checksum setting
From: Quan Nguyen <qnguyen(a)apm.com>
[ Upstream commit e026e700d940a1ea3d3bc84d92ac668b1f015462 ]
This patch fixes the hardware checksum settings by properly program
the classifier. Otherwise, packet may be received with checksum error
on X-Gene1 SoC.
Signed-off-by: Quan Nguyen <qnguyen(a)apm.com>
Signed-off-by: Iyappan Subramanian <isubramanian(a)apm.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | 1 +
drivers/net/ethernet/apm/xgene/xgene_enet_hw.h | 1 +
2 files changed, 2 insertions(+)
--- a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
@@ -604,6 +604,7 @@ static void xgene_enet_cle_bypass(struct
xgene_enet_rd_csr(pdata, CLE_BYPASS_REG0_0_ADDR, &cb);
cb |= CFG_CLE_BYPASS_EN0;
CFG_CLE_IP_PROTOCOL0_SET(&cb, 3);
+ CFG_CLE_IP_HDR_LEN_SET(&cb, 0);
xgene_enet_wr_csr(pdata, CLE_BYPASS_REG0_0_ADDR, cb);
xgene_enet_rd_csr(pdata, CLE_BYPASS_REG1_0_ADDR, &cb);
--- a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.h
+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.h
@@ -147,6 +147,7 @@ enum xgene_enet_rm {
#define CFG_RXCLK_MUXSEL0_SET(dst, val) xgene_set_bits(dst, val, 26, 3)
#define CFG_CLE_IP_PROTOCOL0_SET(dst, val) xgene_set_bits(dst, val, 16, 2)
+#define CFG_CLE_IP_HDR_LEN_SET(dst, val) xgene_set_bits(dst, val, 8, 5)
#define CFG_CLE_DSTQID0_SET(dst, val) xgene_set_bits(dst, val, 0, 12)
#define CFG_CLE_FPSEL0_SET(dst, val) xgene_set_bits(dst, val, 16, 4)
#define CFG_MACMODE_SET(dst, val) xgene_set_bits(dst, val, 18, 2)
Patches currently in stable-queue which might be from qnguyen(a)apm.com are
queue-4.4/drivers-net-xgene-fix-hardware-checksum-setting.patch
This is a note to let you know that I've just added the patch titled
dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
dmaengine-imx-sdma-add-1ms-delay-to-ensure-sdma-channel-is-stopped.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Jiada Wang <jiada_wang(a)mentor.com>
Date: Thu, 16 Mar 2017 23:12:09 -0700
Subject: dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
From: Jiada Wang <jiada_wang(a)mentor.com>
[ Upstream commit 7f3ff14b7eb1ffad132117f08a1973b48e653d43 ]
sdma_disable_channel() cannot ensure dma is stopped to access
module's FIFOs. There is chance SDMA core is running and accessing
BD when disable of corresponding channel, this may cause sometimes
even after call of .sdma_disable_channel(), SDMA core still be
running and accessing module's FIFOs.
According to NXP R&D team a delay of one BD SDMA cost time (maximum
is 1ms) should be added after disable of the channel bit, to ensure
SDMA core has really been stopped after SDMA clients call
.device_terminate_all.
This patch introduces adds a new function sdma_disable_channel_with_delay()
which simply adds 1ms delay after call sdma_disable_channel(),
and set it as .device_terminate_all.
Signed-off-by: Jiada Wang <jiada_wang(a)mentor.com>
Signed-off-by: Vinod Koul <vinod.koul(a)intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/dma/imx-sdma.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -911,6 +911,21 @@ static int sdma_disable_channel(struct d
return 0;
}
+static int sdma_disable_channel_with_delay(struct dma_chan *chan)
+{
+ sdma_disable_channel(chan);
+
+ /*
+ * According to NXP R&D team a delay of one BD SDMA cost time
+ * (maximum is 1ms) should be added after disable of the channel
+ * bit, to ensure SDMA core has really been stopped after SDMA
+ * clients call .device_terminate_all.
+ */
+ mdelay(1);
+
+ return 0;
+}
+
static void sdma_set_watermarklevel_for_p2p(struct sdma_channel *sdmac)
{
struct sdma_engine *sdma = sdmac->sdma;
@@ -1793,7 +1808,7 @@ static int sdma_probe(struct platform_de
sdma->dma_device.device_prep_slave_sg = sdma_prep_slave_sg;
sdma->dma_device.device_prep_dma_cyclic = sdma_prep_dma_cyclic;
sdma->dma_device.device_config = sdma_config;
- sdma->dma_device.device_terminate_all = sdma_disable_channel;
+ sdma->dma_device.device_terminate_all = sdma_disable_channel_with_delay;
sdma->dma_device.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
sdma->dma_device.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
sdma->dma_device.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
Patches currently in stable-queue which might be from jiada_wang(a)mentor.com are
queue-4.4/dmaengine-imx-sdma-add-1ms-delay-to-ensure-sdma-channel-is-stopped.patch
This is a note to let you know that I've just added the patch titled
cpufreq: Fix governor module removal race
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
cpufreq-fix-governor-module-removal-race.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: "Rafael J. Wysocki" <rafael.j.wysocki(a)intel.com>
Date: Thu, 23 Nov 2017 14:27:07 +0100
Subject: cpufreq: Fix governor module removal race
From: "Rafael J. Wysocki" <rafael.j.wysocki(a)intel.com>
[ Upstream commit a8b149d32b663c1a4105273295184b78f53d33cf ]
It is possible to remove a cpufreq governor module after
cpufreq_parse_governor() has returned success in
store_scaling_governor() and before cpufreq_set_policy()
acquires a reference to it, because the governor list is
not protected during that period and nothing prevents the
governor from being unregistered then.
Prevent that from happening by acquiring an extra reference
to the governor module temporarily in cpufreq_parse_governor(),
under cpufreq_governor_mutex, and dropping it in
store_scaling_governor(), when cpufreq_set_policy() returns.
Note that the second cpufreq_parse_governor() call site is fine,
because it only cares about the policy member of new_policy.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Acked-by: Viresh Kumar <viresh.kumar(a)linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/cpufreq/cpufreq.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -551,6 +551,8 @@ static int cpufreq_parse_governor(char *
*governor = t;
err = 0;
}
+ if (t && !try_module_get(t->owner))
+ t = NULL;
mutex_unlock(&cpufreq_governor_mutex);
}
@@ -669,6 +671,10 @@ static ssize_t store_scaling_governor(st
return -EINVAL;
ret = cpufreq_set_policy(policy, &new_policy);
+
+ if (new_policy.governor)
+ module_put(new_policy.governor->owner);
+
return ret ? ret : count;
}
Patches currently in stable-queue which might be from rafael.j.wysocki(a)intel.com are
queue-4.4/cpufreq-fix-governor-module-removal-race.patch
This is a note to let you know that I've just added the patch titled
coresight: Fixes coresight DT parse to get correct output port ID.
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
coresight-fixes-coresight-dt-parse-to-get-correct-output-port-id.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Mike Leach <mike.leach(a)linaro.org>
Date: Mon, 27 Mar 2017 11:09:33 -0600
Subject: coresight: Fixes coresight DT parse to get correct output port ID.
From: Mike Leach <mike.leach(a)linaro.org>
[ Upstream commit eeedc5421dd3b51de73e6106405c5c77f920f281 ]
Corrected to get the port numbering to allow programmable replicator driver
to operate correctly.
By convention, CoreSight devices number ports, not endpoints in
the .dts files:-
port {
reg<N>
endpoint {
}
}
Existing code read endpoint number - always 0x0, rather than the correct
port number.
Signed-off-by: Mike Leach <mike.leach(a)linaro.org>
Signed-off-by: Mathieu Poirier <mathieu.poirier(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/hwtracing/coresight/of_coresight.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/hwtracing/coresight/of_coresight.c
+++ b/drivers/hwtracing/coresight/of_coresight.c
@@ -150,7 +150,7 @@ struct coresight_platform_data *of_get_c
continue;
/* The local out port number */
- pdata->outports[i] = endpoint.id;
+ pdata->outports[i] = endpoint.port;
/*
* Get a handle on the remote port and parent
Patches currently in stable-queue which might be from mike.leach(a)linaro.org are
queue-4.4/coresight-fixes-coresight-dt-parse-to-get-correct-output-port-id.patch
This is a note to let you know that I've just added the patch titled
braille-console: Fix value returned by _braille_console_setup
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
braille-console-fix-value-returned-by-_braille_console_setup.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Samuel Thibault <samuel.thibault(a)ens-lyon.org>
Date: Sun, 26 Mar 2017 22:47:36 +0200
Subject: braille-console: Fix value returned by _braille_console_setup
From: Samuel Thibault <samuel.thibault(a)ens-lyon.org>
[ Upstream commit 2ed2b8621be2708c0f6d61fe9841e9ad8b9753f0 ]
commit bbeddf52adc1 ("printk: move braille console support into
separate braille.[ch] files") introduced _braille_console_setup()
to outline the braille initialization code. There was however some
confusion over the value it was supposed to return. commit 2cfe6c4ac7ee
("printk: Fix return of braille_register_console()") tried to fix it
but failed to.
This fixes and documents the returned value according to the use
in printk.c: non-zero return means a parsing error, and thus this
console configuration should be ignored.
Signed-off-by: Samuel Thibault <samuel.thibault(a)ens-lyon.org>
Cc: Aleksey Makarov <aleksey.makarov(a)linaro.org>
Cc: Joe Perches <joe(a)perches.com>
Cc: Ming Lei <ming.lei(a)canonical.com>
Cc: Steven Rostedt <rostedt(a)goodmis.org>
Acked-by: Petr Mladek <pmladek(a)suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/printk/braille.c | 15 ++++++++-------
kernel/printk/braille.h | 13 ++++++++++---
2 files changed, 18 insertions(+), 10 deletions(-)
--- a/kernel/printk/braille.c
+++ b/kernel/printk/braille.c
@@ -2,12 +2,13 @@
#include <linux/kernel.h>
#include <linux/console.h>
+#include <linux/errno.h>
#include <linux/string.h>
#include "console_cmdline.h"
#include "braille.h"
-char *_braille_console_setup(char **str, char **brl_options)
+int _braille_console_setup(char **str, char **brl_options)
{
if (!strncmp(*str, "brl,", 4)) {
*brl_options = "";
@@ -15,14 +16,14 @@ char *_braille_console_setup(char **str,
} else if (!strncmp(*str, "brl=", 4)) {
*brl_options = *str + 4;
*str = strchr(*brl_options, ',');
- if (!*str)
+ if (!*str) {
pr_err("need port name after brl=\n");
- else
- *((*str)++) = 0;
- } else
- return NULL;
+ return -EINVAL;
+ }
+ *((*str)++) = 0;
+ }
- return *str;
+ return 0;
}
int
--- a/kernel/printk/braille.h
+++ b/kernel/printk/braille.h
@@ -9,7 +9,14 @@ braille_set_options(struct console_cmdli
c->brl_options = brl_options;
}
-char *
+/*
+ * Setup console according to braille options.
+ * Return -EINVAL on syntax error, 0 on success (or no braille option was
+ * actually given).
+ * Modifies str to point to the serial options
+ * Sets brl_options to the parsed braille options.
+ */
+int
_braille_console_setup(char **str, char **brl_options);
int
@@ -25,10 +32,10 @@ braille_set_options(struct console_cmdli
{
}
-static inline char *
+static inline int
_braille_console_setup(char **str, char **brl_options)
{
- return NULL;
+ return 0;
}
static inline int
Patches currently in stable-queue which might be from samuel.thibault(a)ens-lyon.org are
queue-4.4/braille-console-fix-value-returned-by-_braille_console_setup.patch
queue-4.4/staging-speakup-replace-bug_on-with-warn_on.patch
This is a note to let you know that I've just added the patch titled
clk: qcom: msm8916: fix mnd_width for codec_digcodec
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
clk-qcom-msm8916-fix-mnd_width-for-codec_digcodec.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>
Date: Wed, 6 Dec 2017 12:11:38 +0000
Subject: clk: qcom: msm8916: fix mnd_width for codec_digcodec
From: Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>
[ Upstream commit d8e488e8242ecf129eebc440c92d800a99ca109d ]
This patch fixes missing mnd_width for codec_digital clk, this is now set to
8 inline with datasheet.
Fixes: 3966fab8b6ab ("clk: qcom: Add MSM8916 Global Clock Controller support")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>
Signed-off-by: Stephen Boyd <sboyd(a)codeaurora.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/clk/qcom/gcc-msm8916.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/clk/qcom/gcc-msm8916.c
+++ b/drivers/clk/qcom/gcc-msm8916.c
@@ -1437,6 +1437,7 @@ static const struct freq_tbl ftbl_codec_
static struct clk_rcg2 codec_digcodec_clk_src = {
.cmd_rcgr = 0x1c09c,
+ .mnd_width = 8,
.hid_width = 5,
.parent_map = gcc_xo_gpll1_emclk_sleep_map,
.freq_tbl = ftbl_codec_clk,
Patches currently in stable-queue which might be from srinivas.kandagatla(a)linaro.org are
queue-4.4/clk-qcom-msm8916-fix-mnd_width-for-codec_digcodec.patch
This is a note to let you know that I've just added the patch titled
bonding: refine bond_fold_stats() wrap detection
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
bonding-refine-bond_fold_stats-wrap-detection.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Eric Dumazet <edumazet(a)google.com>
Date: Wed, 29 Mar 2017 10:45:44 -0700
Subject: bonding: refine bond_fold_stats() wrap detection
From: Eric Dumazet <edumazet(a)google.com>
[ Upstream commit 142c6594acbcc32391af9c15f8cd65c6c177698f ]
Some device drivers reset their stats at down/up events, possibly
fooling bonding stats, since they operate with relative deltas.
It is nearly not possible to fix drivers, since some of them compute the
tx/rx counters based on per rx/tx queue stats, and the queues can be
reconfigured (ethtool -L) between the down/up sequence.
Lets avoid accumulating 'negative' values that render bonding stats
useless.
It is better to lose small deltas, assuming the bonding stats are
fetched at a reasonable frequency.
Fixes: 5f0c5f73e5ef ("bonding: make global bonding stats more reliable")
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/bonding/bond_main.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3276,12 +3276,17 @@ static void bond_fold_stats(struct rtnl_
for (i = 0; i < sizeof(*_res) / sizeof(u64); i++) {
u64 nv = new[i];
u64 ov = old[i];
+ s64 delta = nv - ov;
/* detects if this particular field is 32bit only */
if (((nv | ov) >> 32) == 0)
- res[i] += (u32)nv - (u32)ov;
- else
- res[i] += nv - ov;
+ delta = (s64)(s32)((u32)nv - (u32)ov);
+
+ /* filter anomalies, some drivers reset their stats
+ * at down/up events.
+ */
+ if (delta > 0)
+ res[i] += delta;
}
}
Patches currently in stable-queue which might be from edumazet(a)google.com are
queue-4.4/selinux-check-for-address-length-in-selinux_socket_bind.patch
queue-4.4/bonding-refine-bond_fold_stats-wrap-detection.patch
This is a note to let you know that I've just added the patch titled
blk-throttle: make sure expire time isn't too big
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
blk-throttle-make-sure-expire-time-isn-t-too-big.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Shaohua Li <shli(a)fb.com>
Date: Mon, 27 Mar 2017 10:51:36 -0700
Subject: blk-throttle: make sure expire time isn't too big
From: Shaohua Li <shli(a)fb.com>
[ Upstream commit 06cceedcca67a93ac7f7aa93bbd9980c7496d14e ]
cgroup could be throttled to a limit but when all cgroups cross high
limit, queue enters a higher state and so the group should be throttled
to a higher limit. It's possible the cgroup is sleeping because of
throttle and other cgroups don't dispatch IO any more. In this case,
nobody can trigger current downgrade/upgrade logic. To fix this issue,
we could either set up a timer to wakeup the cgroup if other cgroups are
idle or make sure this cgroup doesn't sleep too long. Setting up a timer
means we must change the timer very frequently. This patch chooses the
latter. Making cgroup sleep time not too big wouldn't change cgroup
bps/iops, but could make it wakeup more frequently, which isn't a big
issue because throtl_slice * 8 is already quite big.
Signed-off-by: Shaohua Li <shli(a)fb.com>
Signed-off-by: Jens Axboe <axboe(a)fb.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
block/blk-throttle.c | 11 +++++++++++
1 file changed, 11 insertions(+)
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -505,6 +505,17 @@ static void throtl_dequeue_tg(struct thr
static void throtl_schedule_pending_timer(struct throtl_service_queue *sq,
unsigned long expires)
{
+ unsigned long max_expire = jiffies + 8 * throtl_slice;
+
+ /*
+ * Since we are adjusting the throttle limit dynamically, the sleep
+ * time calculated according to previous limit might be invalid. It's
+ * possible the cgroup sleep time is very long and no other cgroups
+ * have IO running so notify the limit changes. Make sure the cgroup
+ * doesn't sleep too long to avoid the missed notification.
+ */
+ if (time_after(expires, max_expire))
+ expires = max_expire;
mod_timer(&sq->pending_timer, expires);
throtl_log(sq, "schedule timer. delay=%lu jiffies=%lu",
expires - jiffies, jiffies);
Patches currently in stable-queue which might be from shli(a)fb.com are
queue-4.4/md-raid6-fix-anomily-when-recovering-a-single-device-in-raid6.patch
queue-4.4/blk-throttle-make-sure-expire-time-isn-t-too-big.patch
This is a note to let you know that I've just added the patch titled
batman-adv: handle race condition for claims between gateways
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
batman-adv-handle-race-condition-for-claims-between-gateways.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Andreas Pape <APape(a)phoenixcontact.com>
Date: Mon, 5 Sep 2016 13:20:29 +0200
Subject: batman-adv: handle race condition for claims between gateways
From: Andreas Pape <APape(a)phoenixcontact.com>
[ Upstream commit a3a5129e122709306cfa6409781716c2933df99b ]
Consider the following situation which has been found in a test setup:
Gateway B has claimed client C and gateway A has the same backbone
network as B. C sends a broad- or multicast to B and directly after
this packet decides to send another packet to A due to a better TQ
value. B will forward the broad-/multicast into the backbone as it is
the responsible gw and after that A will claim C as it has been
chosen by C as the best gateway. If it now happens that A claims C
before it has received the broad-/multicast forwarded by B (due to
backbone topology or due to some delay in B when forwarding the
packet) we get a critical situation: in the current code A will
immediately unclaim C when receiving the multicast due to the
roaming client scenario although the position of C has not changed
in the mesh. If this happens the multi-/broadcast forwarded by B
will be sent back into the mesh by A and we have looping packets
until one of the gateways claims C again.
In order to prevent this, unclaiming of a client due to the roaming
client scenario is only done after a certain time is expired after
the last claim of the client. 100 ms are used here, which should be
slow enough for big backbones and slow gateways but fast enough not
to break the roaming client use case.
Acked-by: Simon Wunderlich <sw(a)simonwunderlich.de>
Signed-off-by: Andreas Pape <apape(a)phoenixcontact.com>
[sven(a)narfation.org: fix conflicts with current version]
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
Signed-off-by: Simon Wunderlich <sw(a)simonwunderlich.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
net/batman-adv/bridge_loop_avoidance.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -1603,10 +1603,22 @@ int batadv_bla_tx(struct batadv_priv *ba
/* if yes, the client has roamed and we have
* to unclaim it.
*/
- batadv_handle_unclaim(bat_priv, primary_if,
- primary_if->net_dev->dev_addr,
- ethhdr->h_source, vid);
- goto allow;
+ if (batadv_has_timed_out(claim->lasttime, 100)) {
+ /* only unclaim if the last claim entry is
+ * older than 100 ms to make sure we really
+ * have a roaming client here.
+ */
+ batadv_dbg(BATADV_DBG_BLA, bat_priv, "bla_tx(): Roaming client %pM detected. Unclaim it.\n",
+ ethhdr->h_source);
+ batadv_handle_unclaim(bat_priv, primary_if,
+ primary_if->net_dev->dev_addr,
+ ethhdr->h_source, vid);
+ goto allow;
+ } else {
+ batadv_dbg(BATADV_DBG_BLA, bat_priv, "bla_tx(): Race for claim %pM detected. Drop packet.\n",
+ ethhdr->h_source);
+ goto handled;
+ }
}
/* check if it is a multicast/broadcast frame */
Patches currently in stable-queue which might be from APape(a)phoenixcontact.com are
queue-4.4/batman-adv-handle-race-condition-for-claims-between-gateways.patch
This is a note to let you know that I've just added the patch titled
ath10k: update tdls teardown state to target
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
ath10k-update-tdls-teardown-state-to-target.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Manikanta Pubbisetty <mpubbise(a)qti.qualcomm.com>
Date: Mon, 6 Nov 2017 13:39:31 +0530
Subject: ath10k: update tdls teardown state to target
From: Manikanta Pubbisetty <mpubbise(a)qti.qualcomm.com>
[ Upstream commit 424ea0d174e82365f85c6770225dba098b8f1d5f ]
It is required to update the teardown state of the peer when
a tdls link with that peer is terminated. This information is
useful for the target to perform some cleanups wrt the tdls peer.
Without proper cleanup, target assumes that the peer is connected and
blocks future connection requests, updating the teardown state of the
peer addresses the problem.
Tested this change on QCA9888 with 10.4-3.5.1-00018 fw version.
Signed-off-by: Manikanta Pubbisetty <mpubbise(a)qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/ath10k/mac.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5497,6 +5497,16 @@ static int ath10k_sta_state(struct ieee8
"mac vdev %d peer delete %pM (sta gone)\n",
arvif->vdev_id, sta->addr);
+ if (sta->tdls) {
+ ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id,
+ sta,
+ WMI_TDLS_PEER_STATE_TEARDOWN);
+ if (ret)
+ ath10k_warn(ar, "failed to update tdls peer state for %pM state %d: %i\n",
+ sta->addr,
+ WMI_TDLS_PEER_STATE_TEARDOWN, ret);
+ }
+
ret = ath10k_peer_delete(ar, arvif->vdev_id, sta->addr);
if (ret)
ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n",
Patches currently in stable-queue which might be from mpubbise(a)qti.qualcomm.com are
queue-4.4/ath10k-update-tdls-teardown-state-to-target.patch
This is a note to let you know that I've just added the patch titled
ath10k: fix invalid STS_CAP_OFFSET_MASK
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
ath10k-fix-invalid-sts_cap_offset_mask.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Ben Greear <greearb(a)candelatech.com>
Date: Sat, 2 Dec 2017 16:50:49 +0200
Subject: ath10k: fix invalid STS_CAP_OFFSET_MASK
From: Ben Greear <greearb(a)candelatech.com>
[ Upstream commit 8cec57f5277ef0e354e37a0bf909dc71bc1f865b ]
The 10.4 firmware defines this as a 3-bit field, as does the
mac80211 stack. The 4th bit is defined as CONF_IMPLICIT_BF
at least in the firmware header I have seen. This patch
fixes the ath10k wmi header to match the firmware.
Signed-off-by: Ben Greear <greearb(a)candelatech.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/ath10k/wmi.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -4826,7 +4826,8 @@ enum wmi_10_4_vdev_param {
#define WMI_VDEV_PARAM_TXBF_MU_TX_BFER BIT(3)
#define WMI_TXBF_STS_CAP_OFFSET_LSB 4
-#define WMI_TXBF_STS_CAP_OFFSET_MASK 0xf0
+#define WMI_TXBF_STS_CAP_OFFSET_MASK 0x70
+#define WMI_TXBF_CONF_IMPLICIT_BF BIT(7)
#define WMI_BF_SOUND_DIM_OFFSET_LSB 8
#define WMI_BF_SOUND_DIM_OFFSET_MASK 0xf00
Patches currently in stable-queue which might be from greearb(a)candelatech.com are
queue-4.4/ath10k-fix-invalid-sts_cap_offset_mask.patch
This is a note to let you know that I've just added the patch titled
ath10k: fix a warning during channel switch with multiple vaps
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
ath10k-fix-a-warning-during-channel-switch-with-multiple-vaps.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
Date: Wed, 8 Mar 2017 13:52:06 +0200
Subject: ath10k: fix a warning during channel switch with multiple vaps
From: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
[ Upstream commit c73f8c00330f59ce9b1ace9ff698aca83390d358 ]
Doing a channel switch via hostapd_cli seems to update
the new channel context for each VAP's appropriately as below
in 'ath10k_mac_update_vif_chan', hence we can safely suppress the
warning that shows up during this operation and dump the warning only
if no vaps are available for channel switch
hostapd_cli -i wlan0 chan_switch 5 5200
OK
ath10k_pci : mac chanctx switch n_vifs 3 mode 1
ath10k_pci : mac chanctx switch vdev_id 2 freq 5180->5200 width 0->0
ath10k_pci : mac chanctx switch vdev_id 1 freq 5180->5200 width 0->0
ath10k_pci : mac chanctx switch vdev_id 0 freq 5180->5200 width 0->0
Call Trace:
WARNING: backports-20161201-3.14.77-9ab3068/drivers/net/wireless/ath/ath10k/mac.c:7126
[<c022f2d4>] (warn_slowpath_null) from [<bf7f150c>]
(ath10k_reconfig_complete+0xe4/0x25c [ath10k_core])
[<bf7f150c>] (ath10k_reconfig_complete [ath10k_core])
[<bf7f35f0>] (ath10k_mac_vif_ap_csa_work+0x214/0x370 [ath10k_core])
[<bf7f38b8>] (ath10k_mac_op_change_chanctx+0x108/0x128 [ath10k_core])
[<bf782ac0>] (ieee80211_recalc_chanctx_min_def+0x30c/0x430 [mac80211])
[<bf7830a4>] (ieee80211_recalc_smps_chanctx+0x2ec/0x840 [mac80211])
[<bf7843e8>] (ieee80211_vif_use_reserved_context+0x7c/0xf8 [mac80211])
[<bf7843e8>] (ieee80211_vif_use_reserved_context [mac80211])
[<bf76e5d4>] (ieee80211_csa_finalize_work+0x5c/0x88 [mac80211])
Fixes: d7bf4b4aba05 ("ath10k: fix ar->rx_channel updating logic")
Signed-off-by: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/ath10k/mac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -6427,7 +6427,7 @@ ath10k_mac_update_rx_channel(struct ath1
lockdep_assert_held(&ar->data_lock);
WARN_ON(ctx && vifs);
- WARN_ON(vifs && n_vifs != 1);
+ WARN_ON(vifs && !n_vifs);
/* FIXME: Sort of an optimization and a workaround. Peers and vifs are
* on a linked list now. Doing a lookup peer -> vif -> chanctx for each
Patches currently in stable-queue which might be from mohammed(a)qti.qualcomm.com are
queue-4.4/ath10k-fix-a-warning-during-channel-switch-with-multiple-vaps.patch
queue-4.4/ath10k-disallow-dfs-simulation-if-dfs-channel-is-not-enabled.patch
This is a note to let you know that I've just added the patch titled
ath10k: disallow DFS simulation if DFS channel is not enabled
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
ath10k-disallow-dfs-simulation-if-dfs-channel-is-not-enabled.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
Date: Wed, 22 Feb 2017 21:03:11 +0530
Subject: ath10k: disallow DFS simulation if DFS channel is not enabled
From: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
[ Upstream commit ca07baab0b1e627ae1d4a55d190fb1c9d32a3445 ]
If DFS is not enabled in hostapd (ieee80211h=0) DFS channels shall
not be available for use even though the hardware may have the capability
to support DFS. With this configuration (DFS disabled in hostapd) trying to
bring up ath10k device in DFS channel for AP mode fails and trying to
simulate DFS in ath10k debugfs results in a warning in cfg80211 complaining
invalid channel and this should be avoided in the driver itself rather than
false propogating RADAR detection to mac80211/cfg80211. Fix this by
checking for the first vif 'is_started' state(should work for client mode
as well) as all the vifs shall be configured for the same channel
sys/kernel/debug/ieee80211/phy1/ath10k# echo 1 > dfs_simulate_radar
WARNING: at net/wireless/chan.c:265 cfg80211_radar_event+0x24/0x60
Workqueue: phy0 ieee80211_dfs_radar_detected_work [mac80211]
[<c022f2d4>] (warn_slowpath_null) from
[<bf72dab8>] (cfg80211_radar_event+0x24/0x60 [cfg80211])
[<bf72dab8>] (cfg80211_radar_event [cfg80211]) from
[<bf7813e0>] (ieee80211_dfs_radar_detected_work+0x94/0xa0 [mac80211])
[<bf7813e0>] (ieee80211_dfs_radar_detected_work [mac80211]) from
[<c0242320>] (process_one_work+0x20c/0x32c)
WARNING: at net/wireless/nl80211.c:2488 nl80211_get_mpath+0x13c/0x4cc
Workqueue: phy0 ieee80211_dfs_radar_detected_work [mac80211]
[<c022f2d4>] (warn_slowpath_null) from
[<bf72dab8>] (cfg80211_radar_event+0x24/0x60 [cfg80211])
[<bf72dab8>] (cfg80211_radar_event [cfg80211]) from
[<bf7813e0>] (ieee80211_dfs_radar_detected_work+0x94/0xa0 [mac80211])
[<bf7813e0>] (ieee80211_dfs_radar_detected_work [mac80211]) from
[<c0242320>] (process_one_work+0x20c/0x32c)
Signed-off-by: Mohammed Shafi Shajakhan <mohammed(a)qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/ath10k/debug.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -1892,6 +1892,15 @@ static ssize_t ath10k_write_simulate_rad
size_t count, loff_t *ppos)
{
struct ath10k *ar = file->private_data;
+ struct ath10k_vif *arvif;
+
+ /* Just check for for the first vif alone, as all the vifs will be
+ * sharing the same channel and if the channel is disabled, all the
+ * vifs will share the same 'is_started' state.
+ */
+ arvif = list_first_entry(&ar->arvifs, typeof(*arvif), list);
+ if (!arvif->is_started)
+ return -EINVAL;
ieee80211_radar_detected(ar->hw);
Patches currently in stable-queue which might be from mohammed(a)qti.qualcomm.com are
queue-4.4/ath10k-fix-a-warning-during-channel-switch-with-multiple-vaps.patch
queue-4.4/ath10k-disallow-dfs-simulation-if-dfs-channel-is-not-enabled.patch
This is a note to let you know that I've just added the patch titled
ASoC: nuc900: Fix a loop timeout test
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
asoc-nuc900-fix-a-loop-timeout-test.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Dan Carpenter <dan.carpenter(a)oracle.com>
Date: Sat, 9 Dec 2017 14:52:28 +0300
Subject: ASoC: nuc900: Fix a loop timeout test
From: Dan Carpenter <dan.carpenter(a)oracle.com>
[ Upstream commit 65a12b3aafed5fc59f4ce41b22b752b1729e6701 ]
We should be finishing the loop with timeout set to zero but because
this is a post-op we finish with timeout == -1.
Fixes: 1082e2703a2d ("ASoC: NUC900/audio: add nuc900 audio driver support")
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
sound/soc/nuc900/nuc900-ac97.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -67,7 +67,7 @@ static unsigned short nuc900_ac97_read(s
/* polling the AC_R_FINISH */
while (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_R_FINISH)
- && timeout--)
+ && --timeout)
mdelay(1);
if (!timeout) {
@@ -121,7 +121,7 @@ static void nuc900_ac97_write(struct snd
/* polling the AC_W_FINISH */
while ((AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_W_FINISH)
- && timeout--)
+ && --timeout)
mdelay(1);
if (!timeout)
Patches currently in stable-queue which might be from dan.carpenter(a)oracle.com are
queue-4.4/media-cpia2-fix-a-couple-off-by-one-bugs.patch
queue-4.4/nfc-nfcmrvl-double-free-on-error-path.patch
queue-4.4/asoc-nuc900-fix-a-loop-timeout-test.patch
This is a note to let you know that I've just added the patch titled
ASoC: rcar: ssi: don't set SSICR.CKDV = 000 with SSIWSR.CONT
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
asoc-rcar-ssi-don-t-set-ssicr.ckdv-000-with-ssiwsr.cont.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Kuninori Morimoto <kuninori.morimoto.gx(a)renesas.com>
Date: Wed, 22 Mar 2017 04:02:43 +0000
Subject: ASoC: rcar: ssi: don't set SSICR.CKDV = 000 with SSIWSR.CONT
From: Kuninori Morimoto <kuninori.morimoto.gx(a)renesas.com>
[ Upstream commit 6b8530cc056efd4a11b034ca5b1e9f7e9563f553 ]
R-Car Datasheet is indicating "SSICR.CKDV = 000 is invalid when
SSIWSR.WS_MODE = 1 or SSIWSR.CONT = 1".
Current driver will set CONT, thus, we shouldn't use CKDV = 000.
This patch fixup it.
Reported-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx(a)renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx(a)renesas.com>
Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx(a)renesas.com>
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
sound/soc/sh/rcar/ssi.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -143,6 +143,15 @@ static int rsnd_ssi_master_clk_start(str
for (j = 0; j < ARRAY_SIZE(ssi_clk_mul_table); j++) {
/*
+ * It will set SSIWSR.CONT here, but SSICR.CKDV = 000
+ * with it is not allowed. (SSIWSR.WS_MODE with
+ * SSICR.CKDV = 000 is not allowed either).
+ * Skip it. See SSICR.CKDV
+ */
+ if (j == 0)
+ continue;
+
+ /*
* this driver is assuming that
* system word is 64fs (= 2 x 32bit)
* see rsnd_ssi_init()
Patches currently in stable-queue which might be from kuninori.morimoto.gx(a)renesas.com are
queue-4.4/asoc-rcar-ssi-don-t-set-ssicr.ckdv-000-with-ssiwsr.cont.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: r8a7791: Correct parent of SSI[0-9] clocks
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-r8a7791-correct-parent-of-ssi-clocks.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
Date: Mon, 3 Apr 2017 11:45:42 +0200
Subject: ARM: dts: r8a7791: Correct parent of SSI[0-9] clocks
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
[ Upstream commit 16fe68dcab5702a024d85229ff7e98979cb701a5 ]
The SSI-ALL gate clock is located in between the P clock and the
individual SSI[0-9] clocks, hence the former should be listed as their
parent.
Fixes: ee9141522dcf13f8 ("ARM: shmobile: r8a7791: add MSTP10 support on DTSI")
Signed-off-by: Geert Uytterhoeven <geert+renesas(a)glider.be>
Signed-off-by: Simon Horman <horms+renesas(a)verge.net.au>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/r8a7791.dtsi | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1374,8 +1374,11 @@
compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
clocks = <&p_clk>,
- <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
- <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
+ <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
<&p_clk>,
<&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
<&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
Patches currently in stable-queue which might be from geert+renesas(a)glider.be are
queue-4.4/arm-dts-r8a7791-correct-parent-of-ssi-clocks.patch
queue-4.4/arm-dts-koelsch-correct-clock-frequency-of-x2-du-clock-input.patch
queue-4.4/arm-dts-r8a7790-correct-parent-of-ssi-clocks.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: r8a7790: Correct parent of SSI[0-9] clocks
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-r8a7790-correct-parent-of-ssi-clocks.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
Date: Mon, 3 Apr 2017 11:45:41 +0200
Subject: ARM: dts: r8a7790: Correct parent of SSI[0-9] clocks
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
[ Upstream commit d13d4e063d4a08eb1686e890e9183dde709871bf ]
The SSI-ALL gate clock is located in between the P clock and the
individual SSI[0-9] clocks, hence the former should be listed as their
parent.
Fixes: bcde372254386872 ("ARM: shmobile: r8a7790: add MSTP10 support on DTSI")
Signed-off-by: Geert Uytterhoeven <geert+renesas(a)glider.be>
Signed-off-by: Simon Horman <horms+renesas(a)verge.net.au>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/r8a7790.dtsi | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -1360,8 +1360,11 @@
compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
clocks = <&p_clk>,
- <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
- <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
+ <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
+ <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
<&p_clk>,
<&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
<&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
Patches currently in stable-queue which might be from geert+renesas(a)glider.be are
queue-4.4/arm-dts-r8a7791-correct-parent-of-ssi-clocks.patch
queue-4.4/arm-dts-koelsch-correct-clock-frequency-of-x2-du-clock-input.patch
queue-4.4/arm-dts-r8a7790-correct-parent-of-ssi-clocks.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: omap3-n900: Fix the audio CODEC's reset pin
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-omap3-n900-fix-the-audio-codec-s-reset-pin.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: "Andrew F. Davis" <afd(a)ti.com>
Date: Wed, 29 Nov 2017 11:13:59 -0600
Subject: ARM: dts: omap3-n900: Fix the audio CODEC's reset pin
From: "Andrew F. Davis" <afd(a)ti.com>
[ Upstream commit 7be4b5dc7ffa9499ac6ef33a5ffa9ff43f9b7057 ]
The correct DT property for specifying a GPIO used for reset
is "reset-gpios", fix this here.
Fixes: 14e3e295b2b9 ("ARM: dts: omap3-n900: Add TLV320AIC3X support")
Signed-off-by: Andrew F. Davis <afd(a)ti.com>
Signed-off-by: Tony Lindgren <tony(a)atomide.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/omap3-n900.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -488,7 +488,7 @@
tlv320aic3x: tlv320aic3x@18 {
compatible = "ti,tlv320aic3x";
reg = <0x18>;
- gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
ai3x-gpio-func = <
0 /* AIC3X_GPIO1_FUNC_DISABLED */
5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
@@ -505,7 +505,7 @@
tlv320aic3x_aux: tlv320aic3x@19 {
compatible = "ti,tlv320aic3x";
reg = <0x19>;
- gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
AVDD-supply = <&vmmc2>;
DRVDD-supply = <&vmmc2>;
Patches currently in stable-queue which might be from afd(a)ti.com are
queue-4.4/arm-dts-omap3-n900-fix-the-audio-codec-s-reset-pin.patch
queue-4.4/arm-dts-am335x-pepper-fix-the-audio-codec-s-reset-pin.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: koelsch: Correct clock frequency of X2 DU clock input
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-koelsch-correct-clock-frequency-of-x2-du-clock-input.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
Date: Mon, 3 Apr 2017 11:55:19 +0200
Subject: ARM: dts: koelsch: Correct clock frequency of X2 DU clock input
From: Geert Uytterhoeven <geert+renesas(a)glider.be>
[ Upstream commit ebf06af55c7594ed1fc18469a5cddf911c40e687 ]
The X2 crystal oscillator on the Koelsch development board provides a
74.25 MHz clock, not a 148.5 MHz clock.
Fixes: cd21cb46e14aae3a ("ARM: shmobile: koelsch: Add DU external pixel clocks to DT")
Signed-off-by: Geert Uytterhoeven <geert+renesas(a)glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas(a)ragnatech.se>
Signed-off-by: Simon Horman <horms+renesas(a)verge.net.au>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/r8a7791-koelsch.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -280,7 +280,7 @@
x2_clk: x2-clock {
compatible = "fixed-clock";
#clock-cells = <0>;
- clock-frequency = <148500000>;
+ clock-frequency = <74250000>;
};
x13_clk: x13-clock {
Patches currently in stable-queue which might be from geert+renesas(a)glider.be are
queue-4.4/arm-dts-r8a7791-correct-parent-of-ssi-clocks.patch
queue-4.4/arm-dts-koelsch-correct-clock-frequency-of-x2-du-clock-input.patch
queue-4.4/arm-dts-r8a7790-correct-parent-of-ssi-clocks.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: exynos: Correct Trats2 panel reset line
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-exynos-correct-trats2-panel-reset-line.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Simon Shields <simon(a)lineageos.org>
Date: Tue, 21 Nov 2017 22:24:24 +1100
Subject: ARM: dts: exynos: Correct Trats2 panel reset line
From: Simon Shields <simon(a)lineageos.org>
[ Upstream commit 1b377924841df1e13ab5b225be3a83f807a92b52 ]
Trats2 uses gpf2-1 as the panel reset GPIO. gpy4-5 was only used
on early revisions of the board.
Fixes: 420ae8451a22 ("ARM: dts: exynos4412-trats2: add panel node")
Signed-off-by: Simon Shields <simon(a)lineageos.org>
Acked-by: Marek Szyprowski <m.szyprowski(a)samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski(a)samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/exynos4412-trats2.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -359,7 +359,7 @@
reg = <0>;
vdd3-supply = <&lcd_vdd3_reg>;
vci-supply = <&ldo25_reg>;
- reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
power-on-delay= <50>;
reset-delay = <100>;
init-delay = <100>;
Patches currently in stable-queue which might be from simon(a)lineageos.org are
queue-4.4/arm-dts-exynos-correct-trats2-panel-reset-line.patch
This is a note to let you know that I've just added the patch titled
ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dts-am335x-pepper-fix-the-audio-codec-s-reset-pin.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: "Andrew F. Davis" <afd(a)ti.com>
Date: Wed, 29 Nov 2017 11:13:56 -0600
Subject: ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin
From: "Andrew F. Davis" <afd(a)ti.com>
[ Upstream commit e153db03c6b7a035c797bcdf35262586f003ee93 ]
The correct DT property for specifying a GPIO used for reset
is "reset-gpios", fix this here.
Fixes: 4341881d0562 ("ARM: dts: Add devicetree for Gumstix Pepper board")
Signed-off-by: Andrew F. Davis <afd(a)ti.com>
Signed-off-by: Tony Lindgren <tony(a)atomide.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/boot/dts/am335x-pepper.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arm/boot/dts/am335x-pepper.dts
+++ b/arch/arm/boot/dts/am335x-pepper.dts
@@ -139,7 +139,7 @@
&audio_codec {
status = "okay";
- gpio-reset = <&gpio1 16 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
AVDD-supply = <&ldo3_reg>;
IOVDD-supply = <&ldo3_reg>;
DRVDD-supply = <&ldo3_reg>;
Patches currently in stable-queue which might be from afd(a)ti.com are
queue-4.4/arm-dts-omap3-n900-fix-the-audio-codec-s-reset-pin.patch
queue-4.4/arm-dts-am335x-pepper-fix-the-audio-codec-s-reset-pin.patch
This is a note to let you know that I've just added the patch titled
ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
arm-dra7-hwmod_data-prevent-wait_target_disable-error-for-usb_otg_ss.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Roger Quadros <rogerq(a)ti.com>
Date: Mon, 13 Mar 2017 13:53:16 +0200
Subject: ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
From: Roger Quadros <rogerq(a)ti.com>
[ Upstream commit e2d54fe76997301b49311bde7ba8ef52b47896f9 ]
It seems that if L3_INIT clkdomain is kept in HW_AUTO while usb_otg_ss
is in use then there are random chances that the usb_otg_ss module
will fail to completely idle. i.e. IDLEST = 0x2 instead of 0x3.
Preventing L3_INIT from HW_AUTO while usb_otg_ss module is in use
fixes this issue.
We don't know yet if usb_otg_ss instances 3 and 4 are affected by this
issue or not so don't add this flag for those instances.
Cc: Tero Kristo <t-kristo(a)ti.com>
Signed-off-by: Roger Quadros <rogerq(a)ti.com>
Signed-off-by: Tony Lindgren <tony(a)atomide.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 ++
1 file changed, 2 insertions(+)
--- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
@@ -2240,6 +2240,7 @@ static struct omap_hwmod dra7xx_usb_otg_
.class = &dra7xx_usb_otg_ss_hwmod_class,
.clkdm_name = "l3init_clkdm",
.main_clk = "dpll_core_h13x2_ck",
+ .flags = HWMOD_CLKDM_NOAUTO,
.prcm = {
.omap4 = {
.clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS1_CLKCTRL_OFFSET,
@@ -2261,6 +2262,7 @@ static struct omap_hwmod dra7xx_usb_otg_
.class = &dra7xx_usb_otg_ss_hwmod_class,
.clkdm_name = "l3init_clkdm",
.main_clk = "dpll_core_h13x2_ck",
+ .flags = HWMOD_CLKDM_NOAUTO,
.prcm = {
.omap4 = {
.clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS2_CLKCTRL_OFFSET,
Patches currently in stable-queue which might be from rogerq(a)ti.com are
queue-4.4/arm-dra7-hwmod_data-prevent-wait_target_disable-error-for-usb_otg_ss.patch
This is a note to let you know that I've just added the patch titled
ALSA: firewire-digi00x: handle all MIDI messages on streaming packets
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
alsa-firewire-digi00x-handle-all-midi-messages-on-streaming-packets.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
Date: Sun, 2 Apr 2017 23:48:25 +0900
Subject: ALSA: firewire-digi00x: handle all MIDI messages on streaming packets
From: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
[ Upstream commit 8820a4cf0cb4cd5c6540a9a18b2cedbdfd5a6891 ]
At a commit 9dc5d31cdceb ("ALSA: firewire-digi00x: handle MIDI messages in
isochronous packets"), a functionality to handle MIDI messages on
isochronous packet was supported. But this includes some of my
misunderstanding. This commit is to fix them.
For digi00x series, first data channel of data blocks in rx/tx packet
includes MIDI messages. The data channel has 0x80 in 8 bit of its MSB,
however it's against IEC 61883-6. Unique data format is applied:
- Upper 4 bits of LSB represent port number.
- 0x0: port 1.
- 0x2: port 2.
- 0xe: console port.
- Lower 4 bits of LSB represent the number of included MIDI message bytes;
0x0/0x1/0x2.
- Two bytes of middle of this data channel have MIDI bytes.
Especially, MIDI messages from/to console surface are also transferred by
isochronous packets, as well as physical MIDI ports.
Signed-off-by: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
sound/firewire/digi00x/amdtp-dot.c | 53 +++++++++++++++++++++++++------------
1 file changed, 36 insertions(+), 17 deletions(-)
--- a/sound/firewire/digi00x/amdtp-dot.c
+++ b/sound/firewire/digi00x/amdtp-dot.c
@@ -28,6 +28,9 @@
*/
#define MAX_MIDI_RX_BLOCKS 8
+/* 3 = MAX(DOT_MIDI_IN_PORTS, DOT_MIDI_OUT_PORTS) + 1. */
+#define MAX_MIDI_PORTS 3
+
/*
* The double-oh-three algorithm was discovered by Robin Gareus and Damien
* Zammit in 2012, with reverse-engineering for Digi 003 Rack.
@@ -42,10 +45,8 @@ struct amdtp_dot {
unsigned int pcm_channels;
struct dot_state state;
- unsigned int midi_ports;
- /* 2 = MAX(DOT_MIDI_IN_PORTS, DOT_MIDI_OUT_PORTS) */
- struct snd_rawmidi_substream *midi[2];
- int midi_fifo_used[2];
+ struct snd_rawmidi_substream *midi[MAX_MIDI_PORTS];
+ int midi_fifo_used[MAX_MIDI_PORTS];
int midi_fifo_limit;
void (*transfer_samples)(struct amdtp_stream *s,
@@ -124,8 +125,8 @@ int amdtp_dot_set_parameters(struct amdt
return -EBUSY;
/*
- * A first data channel is for MIDI conformant data channel, the rest is
- * Multi Bit Linear Audio data channel.
+ * A first data channel is for MIDI messages, the rest is Multi Bit
+ * Linear Audio data channel.
*/
err = amdtp_stream_set_parameters(s, rate, pcm_channels + 1);
if (err < 0)
@@ -135,11 +136,6 @@ int amdtp_dot_set_parameters(struct amdt
p->pcm_channels = pcm_channels;
- if (s->direction == AMDTP_IN_STREAM)
- p->midi_ports = DOT_MIDI_IN_PORTS;
- else
- p->midi_ports = DOT_MIDI_OUT_PORTS;
-
/*
* We do not know the actual MIDI FIFO size of most devices. Just
* assume two bytes, i.e., one byte can be received over the bus while
@@ -281,13 +277,25 @@ static void write_midi_messages(struct a
b = (u8 *)&buffer[0];
len = 0;
- if (port < p->midi_ports &&
+ if (port < MAX_MIDI_PORTS &&
midi_ratelimit_per_packet(s, port) &&
p->midi[port] != NULL)
len = snd_rawmidi_transmit(p->midi[port], b + 1, 2);
if (len > 0) {
- b[3] = (0x10 << port) | len;
+ /*
+ * Upper 4 bits of LSB represent port number.
+ * - 0000b: physical MIDI port 1.
+ * - 0010b: physical MIDI port 2.
+ * - 1110b: console MIDI port.
+ */
+ if (port == 2)
+ b[3] = 0xe0;
+ else if (port == 1)
+ b[3] = 0x20;
+ else
+ b[3] = 0x00;
+ b[3] |= len;
midi_use_bytes(s, port, len);
} else {
b[1] = 0;
@@ -309,11 +317,22 @@ static void read_midi_messages(struct am
for (f = 0; f < data_blocks; f++) {
b = (u8 *)&buffer[0];
- port = b[3] >> 4;
+
len = b[3] & 0x0f;
+ if (len > 0) {
+ /*
+ * Upper 4 bits of LSB represent port number.
+ * - 0000b: physical MIDI port 1. Use port 0.
+ * - 1110b: console MIDI port. Use port 2.
+ */
+ if (b[3] >> 4 > 0)
+ port = 2;
+ else
+ port = 0;
- if (port < p->midi_ports && p->midi[port] && len > 0)
- snd_rawmidi_receive(p->midi[port], b + 1, len);
+ if (port < MAX_MIDI_PORTS && p->midi[port])
+ snd_rawmidi_receive(p->midi[port], b + 1, len);
+ }
buffer += s->data_block_quadlets;
}
@@ -364,7 +383,7 @@ void amdtp_dot_midi_trigger(struct amdtp
{
struct amdtp_dot *p = s->protocol;
- if (port < p->midi_ports)
+ if (port < MAX_MIDI_PORTS)
ACCESS_ONCE(p->midi[port]) = midi;
}
Patches currently in stable-queue which might be from o-takashi(a)sakamocchi.jp are
queue-4.4/alsa-firewire-digi00x-handle-all-midi-messages-on-streaming-packets.patch
This is a note to let you know that I've just added the patch titled
agp/intel: Flush all chipset writes after updating the GGTT
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
agp-intel-flush-all-chipset-writes-after-updating-the-ggtt.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Mon Mar 19 09:58:12 CET 2018
From: Chris Wilson <chris(a)chris-wilson.co.uk>
Date: Fri, 8 Dec 2017 21:46:16 +0000
Subject: agp/intel: Flush all chipset writes after updating the GGTT
From: Chris Wilson <chris(a)chris-wilson.co.uk>
[ Upstream commit 8516673a996870ea0ceb337ee4f83c33c5ec3111 ]
Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.
For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.
References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a single PTE")
Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin(a)intel.com>
Cc: Mika Kuoppala <mika.kuoppala(a)intel.com>
Cc: drm-intel-fixes(a)lists.freedesktop.org
Reviewed-by: Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-chris@…
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/char/agp/intel-gtt.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -859,6 +859,8 @@ void intel_gtt_insert_sg_entries(struct
}
}
wmb();
+ if (intel_private.driver->chipset_flush)
+ intel_private.driver->chipset_flush();
}
EXPORT_SYMBOL(intel_gtt_insert_sg_entries);
Patches currently in stable-queue which might be from chris(a)chris-wilson.co.uk are
queue-4.4/drm-defer-disabling-the-vblank-irq-until-the-next-interrupt-for-instant-off.patch
queue-4.4/agp-intel-flush-all-chipset-writes-after-updating-the-ggtt.patch
This is a note to let you know that I've just added the patch titled
powerpc/xmon: Fix an unexpected xmon on/off state change
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
powerpc-xmon-fix-an-unexpected-xmon-on-off-state-change.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Pan Xinhui <xinhui.pan(a)linux.vnet.ibm.com>
Date: Wed, 22 Mar 2017 16:27:49 -0300
Subject: powerpc/xmon: Fix an unexpected xmon on/off state change
From: Pan Xinhui <xinhui.pan(a)linux.vnet.ibm.com>
[ Upstream commit 3b5bf42b81d56085fd58692b5117f69aa77fdff7 ]
Once xmon is triggered by sysrq-x, it is enabled always afterwards even
if it is disabled during boot. This will cause a system reset interrupt
fail to dump. So keep xmon in its original state after exit.
We have several ways to set xmon on or off.
1) by a build config CONFIG_XMON_DEFAULT.
2) by a boot cmdline with xmon or xmon=early or xmon=on to enable xmon
and xmon=off to disable xmon. This value will override that in step 1.
3) by a debugfs interface, as proposed in this patchset.
And this value can override those in step 1 and 2.
Signed-off-by: Pan Xinhui <xinhui.pan(a)linux.vnet.ibm.com>
Signed-off-by: Guilherme G. Piccoli <gpiccoli(a)linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe(a)ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/powerpc/xmon/xmon.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -74,6 +74,7 @@ static int xmon_gate;
#endif /* CONFIG_SMP */
static unsigned long in_xmon __read_mostly = 0;
+static int xmon_on = IS_ENABLED(CONFIG_XMON_DEFAULT);
static unsigned long adrs;
static int size = 1;
@@ -3244,6 +3245,8 @@ static void sysrq_handle_xmon(int key)
/* ensure xmon is enabled */
xmon_init(1);
debugger(get_irq_regs());
+ if (!xmon_on)
+ xmon_init(0);
}
static struct sysrq_key_op sysrq_xmon_op = {
@@ -3260,7 +3263,7 @@ static int __init setup_xmon_sysrq(void)
__initcall(setup_xmon_sysrq);
#endif /* CONFIG_MAGIC_SYSRQ */
-static int __initdata xmon_early, xmon_off;
+static int __initdata xmon_early;
static int __init early_parse_xmon(char *p)
{
@@ -3268,10 +3271,12 @@ static int __init early_parse_xmon(char
/* just "xmon" is equivalent to "xmon=early" */
xmon_init(1);
xmon_early = 1;
- } else if (strncmp(p, "on", 2) == 0)
+ xmon_on = 1;
+ } else if (strncmp(p, "on", 2) == 0) {
xmon_init(1);
- else if (strncmp(p, "off", 3) == 0)
- xmon_off = 1;
+ xmon_on = 1;
+ } else if (strncmp(p, "off", 3) == 0)
+ xmon_on = 0;
else if (strncmp(p, "nobt", 4) == 0)
xmon_no_auto_backtrace = 1;
else
@@ -3283,10 +3288,8 @@ early_param("xmon", early_parse_xmon);
void __init xmon_setup(void)
{
-#ifdef CONFIG_XMON_DEFAULT
- if (!xmon_off)
+ if (xmon_on)
xmon_init(1);
-#endif
if (xmon_early)
debugger(NULL);
}
Patches currently in stable-queue which might be from xinhui.pan(a)linux.vnet.ibm.com are
queue-4.9/powerpc-xmon-fix-an-unexpected-xmon-on-off-state-change.patch
Tree/Branch: v3.17.8
Git describe: v3.17.8
Commit: bc15d4627a Linux 3.17.8
Build Time: 27 min 11 sec
Passed: 3 / 10 ( 30.00 %)
Failed: 7 / 10 ( 70.00 %)
Errors: 12
Warnings: 179
Section Mismatches: 0
Failed defconfigs:
arm64-allmodconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
x86_64-allnoconfig
x86_64-allmodconfig
Errors:
arm64-allmodconfig
/tmp/ccLMQ4NA.s:22: Error: .err encountered
/tmp/ccLMQ4NA.s:23: Error: .err encountered
/tmp/ccLMQ4NA.s:24: Error: .err encountered
/tmp/ccLMQ4NA.s:52: Error: .err encountered
/tmp/ccLMQ4NA.s:53: Error: .err encountered
/tmp/ccLMQ4NA.s:54: Error: .err encountered
arm-multi_v5_defconfig
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
arm-multi_v7_defconfig
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
x86_64-defconfig
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
../drivers/scsi/qla2xxx/qla_nx2.c:1633:1: error: static declaration of 'qla8044_need_reset_handler' follows non-static declaration
x86_64-allnoconfig
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
3 warnings 0 mismatches : arm64-allnoconfig
85 warnings 0 mismatches : arm64-allmodconfig
13 warnings 0 mismatches : arm-multi_v5_defconfig
7 warnings 0 mismatches : arm-multi_v7_defconfig
242 warnings 0 mismatches : arm-allmodconfig
3 warnings 0 mismatches : arm-allnoconfig
3 warnings 0 mismatches : x86_64-allnoconfig
8 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 12
3 ../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 ../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 ../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
3 ../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
2 ../kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
1 /tmp/ccLMQ4NA.s:54: Error: .err encountered
1 /tmp/ccLMQ4NA.s:53: Error: .err encountered
1 /tmp/ccLMQ4NA.s:52: Error: .err encountered
1 /tmp/ccLMQ4NA.s:24: Error: .err encountered
1 /tmp/ccLMQ4NA.s:23: Error: .err encountered
1 /tmp/ccLMQ4NA.s:22: Error: .err encountered
1 ../drivers/scsi/qla2xxx/qla_nx2.c:1633:1: error: static declaration of 'qla8044_need_reset_handler' follows non-static declaration
Warnings Summary: 179
18 ../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
17 ../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
14 ../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
12 ../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
6 ../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
6 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
6 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
6 ../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
4 warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
4 ../mm/rmap.c:529:26: warning: '__vma_address' is static but used in inline function 'vma_address' which is not static
4 ../include/linux/blkdev.h:625:26: warning: switch condition has boolean value [-Wswitch-bool]
3 ../scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 ../lib/decompress_unlzo.c:82:6: warning: 'get_unaligned_be32' is static but used in inline function 'parse_header' which is not static
3 ../lib/decompress_unlzo.c:78:12: warning: 'get_unaligned_be16' is static but used in inline function 'parse_header' which is not static
3 ../lib/decompress_unlzo.c:72:19: warning: 'lzop_magic' is static but used in inline function 'parse_header' which is not static
3 ../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
3 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'softmac_ps_mgmt_xmit' which is not static
3 ../fs/nfs/nfs4proc.c:3066:10: warning: switch condition has boolean value [-Wswitch-bool]
3 ../fs/namespace.c:2712:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 ../fs/namespace.c:2712:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 ../net/netfilter/nft_compat.c:295:9: warning: switch condition has boolean value [-Wswitch-bool]
2 ../net/netfilter/nfnetlink_cthelper.c:97:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
2 ../net/bluetooth/hci_sock.c:980:8: warning: passing argument 2 of 'hci_test_bit' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
2 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disauth_skb' which is not static
2 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disassociate_skb' which is not static
2 ../include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
2 ../fs/namespace.c:2712:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../fs/namespace.c:2712:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:9: warning: 'cfs_time_seconds' is static but used in inline function 'round_timeout' which is not static
2 ../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:48: warning: 'cfs_time_sub' is static but used in inline function 'round_timeout' which is not static
2 ../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:31: warning: 'cfs_duration_sec' is static but used in inline function 'round_timeout' which is not static
2 ../drivers/staging/lustre/lnet/selftest/rpc.c:1100:23: warning: 'cfs_time_add' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
2 ../drivers/staging/lustre/lnet/selftest/rpc.c:1097:2: warning: 'INIT_LIST_HEAD' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
2 ../drivers/md/md.c:6228:26: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
2 ../drivers/isdn/mISDN/layer2.c:702:2: warning: 'l2up_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
2 ../drivers/isdn/mISDN/layer2.c:701:40: warning: 'l2_newid' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
2 ../drivers/isdn/mISDN/layer2.c:701:3: warning: 'l2down_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
2 ../drivers/isdn/mISDN/layer2.c:700:6: warning: 'test_bit' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
2 ../drivers/isdn/mISDN/layer2.c:694:2: warning: 'l2up_create' is static but used in inline function 'st5_dl_release_l2l3' which is not static
2 ../drivers/isdn/mISDN/layer2.c:505:9: warning: 'test_bit' is static but used in inline function 'IsRNR' which is not static
2 ../drivers/isdn/mISDN/layer2.c:492:9: warning: 'test_bit' is static but used in inline function 'IsREJ' which is not static
2 ../drivers/isdn/mISDN/layer2.c:486:9: warning: 'test_bit' is static but used in inline function 'IsSABME' which is not static
2 ../drivers/isdn/mISDN/layer2.c:476:7: warning: 'test_bit' is static but used in inline function 'IsSFrame' which is not static
2 ../drivers/isdn/mISDN/layer2.c:465:6: warning: 'test_bit' is static but used in inline function 'IsRR' which is not static
2 ../drivers/isdn/mISDN/layer2.c:396:2: warning: 'clear_peer_busy' is static but used in inline function 'clear_exception' which is not static
2 ../drivers/isdn/mISDN/layer2.c:387:31: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
2 ../drivers/isdn/mISDN/layer2.c:383:6: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
2 ../drivers/isdn/mISDN/layer2.c:129:9: warning: 'test_bit' is static but used in inline function 'l2addrsize' which is not static
2 ../drivers/isdn/mISDN/layer2.c:123:4: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
2 ../drivers/isdn/mISDN/layer2.c:122:11: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1148:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1146:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1145:6: warning: 'test_bit' is static but used in inline function 'transmit_enquiry' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1138:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1136:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
2 ../drivers/isdn/mISDN/layer2.c:1135:6: warning: 'test_bit' is static but used in inline function 'enquiry_response' which is not static
2 ../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'writepcibridge' which is not static
2 ../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'readpcibridge' which is not static
2 ../arch/arm/include/asm/barrier.h:45:30: warning: 'outer_sync' is static but used in inline function 'writepcibridge' which is not static
1 ../sound/soc/fsl/fsl_sai.c:337:7: warning: large integer implicitly truncated to unsigned type [-Woverflow]
1 ../sound/pci/oxygen/oxygen_mixer.c:91:43: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
1 ../net/rds/iw_rdma.c:200:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../include/uapi/linux/swab.h:13:15: warning: integer overflow in expression [-Woverflow]
1 ../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'writepcibridge' which is not static
1 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'writepcibridge' which is not static
1 ../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'readpcibridge' which is not static
1 ../include/scsi/scsi_cmnd.h:191:14: warning: 'scsi_sglist' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
1 ../include/linux/spinlock.h:333:24: warning: 'spinlock_check' is static but used in inline function 'megasas_return_cmd' which is not static
1 ../include/linux/kernel.h:709:17: warning: comparison of distinct pointer types lacks a cast
1 ../include/linux/kern_levels.h:4:18: warning: format '%d' expects argument of type 'int', but argument 3 has type 'sk_buff_data_t {aka unsigned char *}' [-Wformat=]
1 ../include/linux/kern_levels.h:4:18: warning: format '%d' expects argument of type 'int', but argument 2 has type 'sk_buff_data_t {aka unsigned char *}' [-Wformat=]
1 ../include/linux/etherdevice.h:181:33: warning: 'eth_random_addr' is static but used in inline function 'rtllib_randomize_cell' which is not static
1 ../drivers/staging/wlan-ng/prism2fw.c:792:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../drivers/staging/vt6655/device_main.c:3091:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../drivers/staging/rtl8192e/rtllib_tx.c:169:9: warning: 'RFC1042_OUI' is static but used in inline function 'rtllib_put_snap' which is not static
1 ../drivers/staging/rtl8192e/rtllib_tx.c:167:9: warning: 'P802_1H_OUI' is static but used in inline function 'rtllib_put_snap' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:805:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_authentication_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:800:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_authentication_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:3521:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_disassociate_skb' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:3516:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_disassociate_skb' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:3495:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_disauth_skb' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:3491:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_disauth_skb' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2366:4: warning: 'rtllib_rx_auth_rq' is static but used in inline function 'rtllib_rx_auth' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2352:6: warning: 'rtllib_auth_challenge' is static but used in inline function 'rtllib_rx_auth' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2350:6: warning: 'rtllib_associate_step2' is static but used in inline function 'rtllib_rx_auth' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2312:14: warning: 'auth_parse' is static but used in inline function 'rtllib_rx_auth' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2280:4: warning: 'rtllib_associate_complete' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2270:26: warning: 'kmalloc' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2234:6: warning: 'kzalloc' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:2231:13: warning: 'assoc_parse' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1408:23: warning: 'kmalloc' is static but used in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1375:3: warning: 'rtllib_WMM_Info' is static but used in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1327:13: warning: 'CcxRmCapBuf' is static but declared in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1307:13: warning: 'AironetIeOui' is static but declared in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1256:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib_softmac.c:1251:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_association_req' which is not static
1 ../drivers/staging/rtl8192e/rtllib.h:88:41: warning: 'queue_delayed_work' is static but used in inline function 'rtllib_rx_deauth' which is not static
1 ../drivers/staging/rtl8192e/rtllib.h:88:41: warning: 'queue_delayed_work' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
1 ../drivers/staging/dgnc/dgnc_tty.c:572:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../drivers/staging/bcm/CmHost.c:1564:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 ../drivers/staging/bcm/CmHost.c:1546:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 ../drivers/staging/bcm/CmHost.c:1503:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 ../drivers/scsi/qla2xxx/qla_iocb.c:779:15: warning: 'qla2x00_prep_cont_type1_iocb' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
1 ../drivers/scsi/qla2xxx/qla_iocb.c:759:33: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
1 ../drivers/scsi/qla2xxx/qla_iocb.c:754:34: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
1 ../drivers/scsi/qla2xxx/qla_iocb.c:742:7: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
1 ../drivers/scsi/megaraid/megaraid_sas_base.c:245:2: warning: 'spin_unlock_irqrestore' is static but used in inline function 'megasas_return_cmd' which is not static
1 ../drivers/scsi/megaraid/megaraid_sas_base.c:243:2: warning: 'list_add_tail' is static but used in inline function 'megasas_return_cmd' which is not static
1 ../drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
1 ../drivers/scsi/be2iscsi/be_main.c:3157:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
1 ../drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
1 ../drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1478:8: warning: 'skb' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 ../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:467:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 ../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:307:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 ../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:303:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 ../drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp]
1 ../drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
1 ../drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1044:4: warning: 'hfcmulti_resync' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1040:8: warning: 'debug' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1039:7: warning: 'syncmaster' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1036:4: warning: 'hfcmulti_resync' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1032:8: warning: 'debug' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/isdn/hardware/mISDN/hfcmulti.c:1031:7: warning: 'syncmaster' is static but used in inline function 'plxsd_checksync' which is not static
1 ../drivers/block/drbd/drbd_bitmap.c:483:0: warning: "BITS_PER_PAGE_MASK" redefined
1 ../drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined
1 ../drivers/ata/pata_hpt366.c:382:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 ../drivers/ata/pata_hpt366.c:379:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 ../drivers/ata/pata_hpt366.c:376:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 ../arch/arm/mach-cns3xxx/pcie.c:311:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 ../arch/arm/include/asm/io.h:254:30: warning: '__raw_readb' is static but used in inline function 'readpcibridge' which is not static
1 ../arch/arm/include/asm/io.h:251:33: warning: '__raw_writel' is static but used in inline function 'writepcibridge' which is not static
1 ../arch/arm/include/asm/io.h:249:33: warning: '__raw_writew' is static but used in inline function 'writepcibridge' which is not static
1 ../arch/arm/include/asm/io.h:249:33: warning: '__raw_writew' is static but used in inline function 'readpcibridge' which is not static
1 ../arch/arm/include/asm/barrier.h:45:30: warning: 'outer_sync' is static but used in inline function 'readpcibridge' which is not static
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
../fs/namespace.c:2712:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
../mm/rmap.c:529:26: warning: '__vma_address' is static but used in inline function 'vma_address' which is not static
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 6 errors, 85 warnings, 0 section mismatches
Errors:
/tmp/ccLMQ4NA.s:22: Error: .err encountered
/tmp/ccLMQ4NA.s:23: Error: .err encountered
/tmp/ccLMQ4NA.s:24: Error: .err encountered
/tmp/ccLMQ4NA.s:52: Error: .err encountered
/tmp/ccLMQ4NA.s:53: Error: .err encountered
/tmp/ccLMQ4NA.s:54: Error: .err encountered
Warnings:
../drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined
../drivers/block/drbd/drbd_bitmap.c:483:0: warning: "BITS_PER_PAGE_MASK" redefined
../net/bluetooth/hci_sock.c:980:8: warning: passing argument 2 of 'hci_test_bit' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../lib/decompress_unlzo.c:82:6: warning: 'get_unaligned_be32' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:78:12: warning: 'get_unaligned_be16' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:72:19: warning: 'lzop_magic' is static but used in inline function 'parse_header' which is not static
../sound/soc/fsl/fsl_sai.c:337:7: warning: large integer implicitly truncated to unsigned type [-Woverflow]
../net/netfilter/nfnetlink_cthelper.c:97:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../fs/nfs/nfs4proc.c:3066:10: warning: switch condition has boolean value [-Wswitch-bool]
../net/netfilter/nft_compat.c:295:9: warning: switch condition has boolean value [-Wswitch-bool]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
../drivers/isdn/mISDN/layer2.c:1148:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1146:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1145:6: warning: 'test_bit' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1138:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:1136:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:1135:6: warning: 'test_bit' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:702:2: warning: 'l2up_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:701:40: warning: 'l2_newid' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:701:3: warning: 'l2down_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:700:6: warning: 'test_bit' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:694:2: warning: 'l2up_create' is static but used in inline function 'st5_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:505:9: warning: 'test_bit' is static but used in inline function 'IsRNR' which is not static
../drivers/isdn/mISDN/layer2.c:492:9: warning: 'test_bit' is static but used in inline function 'IsREJ' which is not static
../drivers/isdn/mISDN/layer2.c:486:9: warning: 'test_bit' is static but used in inline function 'IsSABME' which is not static
../drivers/isdn/mISDN/layer2.c:476:7: warning: 'test_bit' is static but used in inline function 'IsSFrame' which is not static
../drivers/isdn/mISDN/layer2.c:465:6: warning: 'test_bit' is static but used in inline function 'IsRR' which is not static
../drivers/isdn/mISDN/layer2.c:396:2: warning: 'clear_peer_busy' is static but used in inline function 'clear_exception' which is not static
../drivers/isdn/mISDN/layer2.c:387:31: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
../drivers/isdn/mISDN/layer2.c:383:6: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
../drivers/isdn/mISDN/layer2.c:129:9: warning: 'test_bit' is static but used in inline function 'l2addrsize' which is not static
../drivers/isdn/mISDN/layer2.c:123:4: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
../drivers/isdn/mISDN/layer2.c:122:11: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
../drivers/md/md.c:6228:26: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
../include/linux/blkdev.h:625:26: warning: switch condition has boolean value [-Wswitch-bool]
../drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
../drivers/staging/bcm/CmHost.c:1503:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../drivers/staging/bcm/CmHost.c:1546:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../drivers/staging/bcm/CmHost.c:1564:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../drivers/staging/lustre/lnet/selftest/rpc.c:1100:23: warning: 'cfs_time_add' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
../drivers/staging/lustre/lnet/selftest/rpc.c:1097:2: warning: 'INIT_LIST_HEAD' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:48: warning: 'cfs_time_sub' is static but used in inline function 'round_timeout' which is not static
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:31: warning: 'cfs_duration_sec' is static but used in inline function 'round_timeout' which is not static
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:9: warning: 'cfs_time_seconds' is static but used in inline function 'round_timeout' which is not static
-------------------------------------------------------------------------------
arm-multi_v5_defconfig : FAIL, 1 errors, 13 warnings, 0 section mismatches
Errors:
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
Warnings:
warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
../mm/rmap.c:529:26: warning: '__vma_address' is static but used in inline function 'vma_address' which is not static
../include/linux/blkdev.h:625:26: warning: switch condition has boolean value [-Wswitch-bool]
../drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : FAIL, 1 errors, 7 warnings, 0 section mismatches
Errors:
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
Warnings:
../fs/namespace.c:2712:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
../mm/rmap.c:529:26: warning: '__vma_address' is static but used in inline function 'vma_address' which is not static
../fs/nfs/nfs4proc.c:3066:10: warning: switch condition has boolean value [-Wswitch-bool]
../drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1478:8: warning: 'skb' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 2 errors, 242 warnings, 0 section mismatches
Errors:
../arch/arm/kernel/return_address.c:66:7: error: redefinition of 'return_address'
../drivers/scsi/qla2xxx/qla_nx2.c:1633:1: error: static declaration of 'qla8044_need_reset_handler' follows non-static declaration
Warnings:
../arch/arm/mach-cns3xxx/pcie.c:311:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
../mm/rmap.c:529:26: warning: '__vma_address' is static but used in inline function 'vma_address' which is not static
../drivers/ata/pata_hpt366.c:376:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../drivers/ata/pata_hpt366.c:379:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../drivers/ata/pata_hpt366.c:382:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../include/linux/blkdev.h:625:26: warning: switch condition has boolean value [-Wswitch-bool]
../net/bluetooth/hci_sock.c:980:8: warning: passing argument 2 of 'hci_test_bit' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../lib/decompress_unlzo.c:82:6: warning: 'get_unaligned_be32' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:78:12: warning: 'get_unaligned_be16' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:72:19: warning: 'lzop_magic' is static but used in inline function 'parse_header' which is not static
../sound/pci/oxygen/oxygen_mixer.c:91:43: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
../fs/nfs/nfs4proc.c:3066:10: warning: switch condition has boolean value [-Wswitch-bool]
../net/netfilter/nfnetlink_cthelper.c:97:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../net/netfilter/nft_compat.c:295:9: warning: switch condition has boolean value [-Wswitch-bool]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:123:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
../net/netfilter/nft_ct.c:166:2: warning: enumeration value 'NFT_CT_LABELS' not handled in switch [-Wswitch]
../net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
../net/rds/iw_rdma.c:200:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
../include/linux/kernel.h:709:17: warning: comparison of distinct pointer types lacks a cast
../drivers/isdn/hardware/mISDN/hfcmulti.c:1044:4: warning: 'hfcmulti_resync' is static but used in inline function 'plxsd_checksync' which is not static
../drivers/isdn/hardware/mISDN/hfcmulti.c:1040:8: warning: 'debug' is static but used in inline function 'plxsd_checksync' which is not static
../drivers/isdn/hardware/mISDN/hfcmulti.c:1039:7: warning: 'syncmaster' is static but used in inline function 'plxsd_checksync' which is not static
../drivers/isdn/hardware/mISDN/hfcmulti.c:1036:4: warning: 'hfcmulti_resync' is static but used in inline function 'plxsd_checksync' which is not static
../drivers/isdn/hardware/mISDN/hfcmulti.c:1032:8: warning: 'debug' is static but used in inline function 'plxsd_checksync' which is not static
../drivers/isdn/hardware/mISDN/hfcmulti.c:1031:7: warning: 'syncmaster' is static but used in inline function 'plxsd_checksync' which is not static
../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'writepcibridge' which is not static
../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/io.h:251:33: warning: '__raw_writel' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/barrier.h:45:30: warning: 'outer_sync' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'writepcibridge' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/io.h:249:33: warning: '__raw_writew' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/barrier.h:45:30: warning: 'outer_sync' is static but used in inline function 'writepcibridge' which is not static
../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'readpcibridge' which is not static
../arch/arm/include/asm/io.h:254:30: warning: '__raw_readb' is static but used in inline function 'readpcibridge' which is not static
../arch/arm/include/asm/io.h:197:18: warning: '__typesafe_io' is static but used in inline function 'readpcibridge' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'readpcibridge' which is not static
../arch/arm/include/asm/io.h:249:33: warning: '__raw_writew' is static but used in inline function 'readpcibridge' which is not static
../arch/arm/include/asm/barrier.h:45:30: warning: 'outer_sync' is static but used in inline function 'readpcibridge' which is not static
../include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
../include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
../drivers/md/md.c:6228:26: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
../drivers/isdn/mISDN/layer2.c:1148:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1146:3: warning: 'enquiry_cr' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1145:6: warning: 'test_bit' is static but used in inline function 'transmit_enquiry' which is not static
../drivers/isdn/mISDN/layer2.c:1138:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:1136:3: warning: 'enquiry_cr' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:1135:6: warning: 'test_bit' is static but used in inline function 'enquiry_response' which is not static
../drivers/isdn/mISDN/layer2.c:702:2: warning: 'l2up_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:701:40: warning: 'l2_newid' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:701:3: warning: 'l2down_create' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:700:6: warning: 'test_bit' is static but used in inline function 'lapb_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:694:2: warning: 'l2up_create' is static but used in inline function 'st5_dl_release_l2l3' which is not static
../drivers/isdn/mISDN/layer2.c:505:9: warning: 'test_bit' is static but used in inline function 'IsRNR' which is not static
../drivers/isdn/mISDN/layer2.c:492:9: warning: 'test_bit' is static but used in inline function 'IsREJ' which is not static
../drivers/isdn/mISDN/layer2.c:486:9: warning: 'test_bit' is static but used in inline function 'IsSABME' which is not static
../drivers/isdn/mISDN/layer2.c:476:7: warning: 'test_bit' is static but used in inline function 'IsSFrame' which is not static
../drivers/isdn/mISDN/layer2.c:465:6: warning: 'test_bit' is static but used in inline function 'IsRR' which is not static
../drivers/isdn/mISDN/layer2.c:396:2: warning: 'clear_peer_busy' is static but used in inline function 'clear_exception' which is not static
../drivers/isdn/mISDN/layer2.c:387:31: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
../drivers/isdn/mISDN/layer2.c:383:6: warning: 'test_bit' is static but used in inline function 'cansend' which is not static
../drivers/isdn/mISDN/layer2.c:129:9: warning: 'test_bit' is static but used in inline function 'l2addrsize' which is not static
../drivers/isdn/mISDN/layer2.c:123:4: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
../drivers/isdn/mISDN/layer2.c:122:11: warning: 'test_bit' is static but used in inline function 'l2headersize' which is not static
../drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
../include/linux/blkdev.h:625:26: warning: switch condition has boolean value [-Wswitch-bool]
../drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
../drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp]
../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:303:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:307:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:467:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
../drivers/scsi/be2iscsi/be_main.c:3157:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
../drivers/scsi/megaraid/megaraid_sas_base.c:245:2: warning: 'spin_unlock_irqrestore' is static but used in inline function 'megasas_return_cmd' which is not static
../drivers/scsi/megaraid/megaraid_sas_base.c:243:2: warning: 'list_add_tail' is static but used in inline function 'megasas_return_cmd' which is not static
../include/linux/spinlock.h:333:24: warning: 'spinlock_check' is static but used in inline function 'megasas_return_cmd' which is not static
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../include/uapi/linux/swab.h:117:2: warning: '__fswab32' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../drivers/scsi/qla2xxx/qla_iocb.c:779:15: warning: 'qla2x00_prep_cont_type1_iocb' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../include/scsi/scsi_cmnd.h:191:14: warning: 'scsi_sglist' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../drivers/scsi/qla2xxx/qla_iocb.c:759:33: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../drivers/scsi/qla2xxx/qla_iocb.c:754:34: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../drivers/scsi/qla2xxx/qla_iocb.c:742:7: warning: 'scsi_bufflen' is static but used in inline function 'qla24xx_build_scsi_iocbs' which is not static
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:754:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
../drivers/scsi/qla2xxx/qla_gbl.h:753:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
../drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
../drivers/tty/sysrq.c:956:33: warning: array subscript is above array bounds [-Warray-bounds]
../drivers/staging/dgnc/dgnc_tty.c:572:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
../include/uapi/linux/swab.h:13:15: warning: integer overflow in expression [-Woverflow]
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib_tx.c:169:9: warning: 'RFC1042_OUI' is static but used in inline function 'rtllib_put_snap' which is not static
../drivers/staging/rtl8192e/rtllib_tx.c:167:9: warning: 'P802_1H_OUI' is static but used in inline function 'rtllib_put_snap' which is not static
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disassociate_skb' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disassociate_skb' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:3521:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_disassociate_skb' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:3516:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_disassociate_skb' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disauth_skb' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_disauth_skb' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:3495:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_disauth_skb' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:3491:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_disauth_skb' which is not static
../include/linux/etherdevice.h:181:33: warning: 'eth_random_addr' is static but used in inline function 'rtllib_randomize_cell' which is not static
../drivers/staging/rtl8192e/rtllib.h:88:41: warning: 'queue_delayed_work' is static but used in inline function 'rtllib_rx_deauth' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2366:4: warning: 'rtllib_rx_auth_rq' is static but used in inline function 'rtllib_rx_auth' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2352:6: warning: 'rtllib_auth_challenge' is static but used in inline function 'rtllib_rx_auth' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2350:6: warning: 'rtllib_associate_step2' is static but used in inline function 'rtllib_rx_auth' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2312:14: warning: 'auth_parse' is static but used in inline function 'rtllib_rx_auth' which is not static
../drivers/staging/rtl8192e/rtllib.h:88:41: warning: 'queue_delayed_work' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2280:4: warning: 'rtllib_associate_complete' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2270:26: warning: 'kmalloc' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2234:6: warning: 'kzalloc' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:2231:13: warning: 'assoc_parse' is static but used in inline function 'rtllib_rx_assoc_resp' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1408:23: warning: 'kmalloc' is static but used in inline function 'rtllib_association_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1375:3: warning: 'rtllib_WMM_Info' is static but used in inline function 'rtllib_association_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1327:13: warning: 'CcxRmCapBuf' is static but declared in inline function 'rtllib_association_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1307:13: warning: 'AironetIeOui' is static but declared in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_association_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1256:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_association_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:1251:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_association_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'rtllib_authentication_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:805:2: warning: 'skb_reserve' is static but used in inline function 'rtllib_authentication_req' which is not static
../drivers/staging/rtl8192e/rtllib_softmac.c:800:8: warning: 'dev_alloc_skb' is static but used in inline function 'rtllib_authentication_req' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'softmac_ps_mgmt_xmit' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'softmac_ps_mgmt_xmit' which is not static
../include/uapi/linux/swab.h:108:2: warning: '__fswab16' is static but used in inline function 'softmac_ps_mgmt_xmit' which is not static
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/lustre/lnet/selftest/rpc.c:1100:23: warning: 'cfs_time_add' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
../drivers/staging/lustre/lnet/selftest/rpc.c:1097:2: warning: 'INIT_LIST_HEAD' is static but used in inline function 'srpc_add_client_rpc_timer' which is not static
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../drivers/staging/rtl8192e/rtl8192e/../rtllib.h:2764:31: warning: inline function 'rtllib_probe_req' declared but never defined
../include/linux/kern_levels.h:4:18: warning: format '%d' expects argument of type 'int', but argument 2 has type 'sk_buff_data_t {aka unsigned char *}' [-Wformat=]
../include/linux/kern_levels.h:4:18: warning: format '%d' expects argument of type 'int', but argument 3 has type 'sk_buff_data_t {aka unsigned char *}' [-Wformat=]
../drivers/staging/vt6655/device_main.c:3091:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=]
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:48: warning: 'cfs_time_sub' is static but used in inline function 'round_timeout' which is not static
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:31: warning: 'cfs_duration_sec' is static but used in inline function 'round_timeout' which is not static
../drivers/staging/lustre/lustre/ptlrpc/../../lustre/ldlm/ldlm_lockd.c:74:9: warning: 'cfs_time_seconds' is static but used in inline function 'round_timeout' which is not static
../drivers/staging/wlan-ng/prism2fw.c:792:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
../scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 3 warnings, 0 section mismatches
Errors:
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
../scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 5 errors, 0 warnings, 0 section mismatches
Errors:
../scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
../scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings:
../scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
../scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
../fs/namespace.c:2712:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
../lib/decompress_unlzo.c:82:6: warning: 'get_unaligned_be32' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:78:12: warning: 'get_unaligned_be16' is static but used in inline function 'parse_header' which is not static
../lib/decompress_unlzo.c:72:19: warning: 'lzop_magic' is static but used in inline function 'parse_header' which is not static
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.16.55
Git describe: v3.16.55
Commit: 3e50cd97ed Linux 3.16.55
Build Time: 31 min 6 sec
Passed: 9 / 9 (100.00 %)
Failed: 0 / 9 ( 0.00 %)
Errors: 0
Warnings: 7
Section Mismatches: 0
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
1 warnings 0 mismatches : x86_64-allnoconfig
1 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : x86_64-defconfig
4 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Warnings Summary: 7
2 ../ipc/sem.c:377:6: warning: '___p1' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 ../drivers/net/ethernet/broadcom/genet/bcmgenet.c:1346:17: warning: unused variable 'kdev' [-Wunused-variable]
1 ../drivers/platform/x86/eeepc-laptop.c:279:10: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/mtd/nand/omap2.c:1318:12: warning: 'omap_calculate_ecc_bch_multi' defined but not used [-Wunused-function]
1 ../drivers/media/platform/davinci/vpfe_capture.c:291:12: warning: 'vpfe_get_ccdc_image_format' defined but not used [-Wunused-function]
1 ../drivers/media/platform/davinci/vpfe_capture.c:1718:1: warning: label 'unlock_out' defined but not used [-Wunused-label]
1 ../arch/x86/kernel/cpu/common.c:1022:13: warning: 'syscall32_cpu_init' defined but not used [-Wunused-function]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../arch/x86/kernel/cpu/common.c:1022:13: warning: 'syscall32_cpu_init' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/net/ethernet/broadcom/genet/bcmgenet.c:1346:17: warning: unused variable 'kdev' [-Wunused-variable]
-------------------------------------------------------------------------------
x86_64-defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/platform/x86/eeepc-laptop.c:279:10: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
../drivers/mtd/nand/omap2.c:1318:12: warning: 'omap_calculate_ecc_bch_multi' defined but not used [-Wunused-function]
../drivers/net/ethernet/broadcom/genet/bcmgenet.c:1346:17: warning: unused variable 'kdev' [-Wunused-variable]
../drivers/media/platform/davinci/vpfe_capture.c:1718:1: warning: label 'unlock_out' defined but not used [-Wunused-label]
../drivers/media/platform/davinci/vpfe_capture.c:291:12: warning: 'vpfe_get_ccdc_image_format' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../ipc/sem.c:377:6: warning: '___p1' may be used uninitialized in this function [-Wmaybe-uninitialized]
../ipc/sem.c:377:6: warning: '___p1' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v7_defconfig
arm-allnoconfig
arm-multi_v5_defconfig
Please merge commit
4f2c7583e33e irqchip/gic-v3-its: Ensure nr_ites >= nr_lpis
into -stable v4.14 - v4.15
It fixes a bug in the GICv3 interrupt controller driver that only gets
triggered on systems with unusual PCIe topologies, but it is a bug
nonetheless.
I will send out a separate backport to v4.9, which needs a trivial
tweak to unrelated context for it to apply cleanly.
Tree/Branch: v3.15.10
Git describe: v3.15.10
Commit: f35b5e46fe Linux 3.15.10
Build Time: 0 min 11 sec
Passed: 0 / 10 ( 0.00 %)
Failed: 10 / 10 (100.00 %)
Errors: 4
Warnings: 3
Section Mismatches: 0
Failed defconfigs:
arm64-allnoconfig
arm64-allmodconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allnoconfig
x86_64-allmodconfig
arm64-defconfig
Errors:
arm64-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm64-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-multi_v5_defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-multi_v7_defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm64-defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
3 warnings 0 mismatches : arm64-allmodconfig
2 warnings 0 mismatches : arm-multi_v5_defconfig
1 warnings 0 mismatches : arm-allnoconfig
3 warnings 0 mismatches : x86_64-allnoconfig
3 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 4
14 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings Summary: 3
6 /home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 warning: (GENERIC_CPUFREQ_CPU0 && ARM_BIG_LITTLE_CPUFREQ && ARM_EXYNOS5440_CPUFREQ) selects PM_OPP which has unmet direct dependencies (ARCH_HAS_OPP)
3 /home/broonie/build/linux-stable/scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 2 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
warning: (GENERIC_CPUFREQ_CPU0 && ARM_BIG_LITTLE_CPUFREQ && ARM_EXYNOS5440_CPUFREQ) selects PM_OPP which has unmet direct dependencies (ARCH_HAS_OPP)
warning: (GENERIC_CPUFREQ_CPU0 && ARM_BIG_LITTLE_CPUFREQ && ARM_EXYNOS5440_CPUFREQ) selects PM_OPP which has unmet direct dependencies (ARCH_HAS_OPP)
warning: (GENERIC_CPUFREQ_CPU0 && ARM_BIG_LITTLE_CPUFREQ && ARM_EXYNOS5440_CPUFREQ) selects PM_OPP which has unmet direct dependencies (ARCH_HAS_OPP)
-------------------------------------------------------------------------------
arm-multi_v5_defconfig : FAIL, 2 errors, 2 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 2 errors, 1 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm64-defconfig : FAIL, 2 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:590:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.14.79
Git describe: v3.14.79
Commit: b65f2f457c Linux 3.14.79
Build Time: 29 min 12 sec
Passed: 6 / 9 ( 66.67 %)
Failed: 3 / 9 ( 33.33 %)
Errors: 3
Warnings: 104
Section Mismatches: 0
Failed defconfigs:
x86_64-defconfig
x86_64-allnoconfig
x86_64-allmodconfig
Errors:
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm64-allnoconfig
68 warnings 0 mismatches : arm64-allmodconfig
13 warnings 0 mismatches : arm-multi_v7_defconfig
81 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : arm-allnoconfig
2 warnings 0 mismatches : x86_64-allnoconfig
5 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 3
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings Summary: 104
6 /home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
4 warning: (ARM_HIGHBANK_CPUFREQ) selects GENERIC_CPUFREQ_CPU0 which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ && HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL)
4 /home/broonie/build/linux-stable/net/core/sysctl_net_core.c:26:12: warning: 'one' defined but not used [-Wunused-variable]
4 /home/broonie/build/linux-stable/drivers/tty/sysrq.c:954:33: warning: array subscript is above array bounds [-Warray-bounds]
3 /home/broonie/build/linux-stable/include/linux/blkdev.h:602:26: warning: switch condition has boolean value [-Wswitch-bool]
3 /home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2968:10: warning: switch condition has boolean value [-Wswitch-bool]
2 /home/broonie/build/linux-stable/sound/soc/sh/rcar/adg.c:30:18: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations]
2 /home/broonie/build/linux-stable/sound/soc/codecs/wm8993.c:1562:22: warning: unused variable 'wm8993' [-Wunused-variable]
2 /home/broonie/build/linux-stable/net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
2 /home/broonie/build/linux-stable/net/netfilter/nft_compat.c:289:9: warning: switch condition has boolean value [-Wswitch-bool]
2 /home/broonie/build/linux-stable/net/netfilter/nfnetlink.c:364:14: warning: unused variable 'net' [-Wunused-variable]
2 /home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
2 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
2 /home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/drivers/gpio/gpio-sch311x.c:286:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
2 /home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:75:3: warning: value computed is not used [-Wunused-value]
1 /home/broonie/build/linux-stable/sound/soc/fsl/imx-audmux.c:70:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/sound/soc/fsl/imx-audmux.c:162:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/include/uapi/linux/swab.h:13:15: warning: integer overflow in expression [-Woverflow]
1 /home/broonie/build/linux-stable/include/linux/kernel.h:712:17: warning: comparison of distinct pointer types lacks a cast
1 /home/broonie/build/linux-stable/include/linux/kern_levels.h:4:18: warning: format '%li' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/tty/serial/efm32-uart.c:834:20: warning: 'efm32_uart_exit' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:759:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3253:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/staging/imx-drm/imx-drm-core.c:87:25: warning: unused variable 'imxdrm' [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/staging/dgnc/dgnc_tty.c:583:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_tty.c:658:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:103:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_driver.c:961:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1440:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1426:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1387:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1269:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1248:4: warning: format '%x' expects argument of type 'unsigned int', but argument 9 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1248:4: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1028:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1060:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1043:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 8688 bytes is larger than 2048 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1457:8: warning: 'skb' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:467:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:307:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:303:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
1 /home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/mfd/arizona-core.c:509:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:112:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c:1379:1: warning: the frame size of 1504 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1665:3: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1665:3: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1043:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/arch/arm/mach-cns3xxx/pcie.c:350:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 68 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1043:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1665:3: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1665:3: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/gpio/gpio-sch311x.c:286:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:112:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/sound/soc/codecs/wm8993.c:1562:22: warning: unused variable 'wm8993' [-Wunused-variable]
/home/broonie/build/linux-stable/sound/soc/fsl/imx-audmux.c:70:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/sound/soc/fsl/imx-audmux.c:162:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:26:12: warning: 'one' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2968:10: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/net/netfilter/nfnetlink.c:364:14: warning: unused variable 'net' [-Wunused-variable]
/home/broonie/build/linux-stable/net/netfilter/nft_compat.c:289:9: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/drivers/mfd/arizona-core.c:509:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
/home/broonie/build/linux-stable/include/linux/blkdev.h:602:26: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1028:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1248:4: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1248:4: warning: format '%x' expects argument of type 'unsigned int', but argument 9 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1269:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1387:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1426:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1440:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:75:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:75:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 8688 bytes is larger than 2048 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 13 warnings, 0 section mismatches
Warnings:
warning: (ARM_HIGHBANK_CPUFREQ) selects GENERIC_CPUFREQ_CPU0 which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ && HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL)
warning: (ARM_HIGHBANK_CPUFREQ) selects GENERIC_CPUFREQ_CPU0 which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ && HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL)
warning: (ARM_HIGHBANK_CPUFREQ) selects GENERIC_CPUFREQ_CPU0 which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ && HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL)
warning: (ARM_HIGHBANK_CPUFREQ) selects GENERIC_CPUFREQ_CPU0 which has unmet direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ && HAVE_CLK && REGULATOR && OF && THERMAL && CPU_THERMAL)
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:26:12: warning: 'one' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2968:10: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1457:8: warning: 'skb' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:954:33: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:954:33: warning: array subscript is above array bounds [-Warray-bounds]
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 81 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/arch/arm/mach-cns3xxx/pcie.c:350:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/include/linux/blkdev.h:602:26: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/sound/soc/codecs/wm8993.c:1562:22: warning: unused variable 'wm8993' [-Wunused-variable]
/home/broonie/build/linux-stable/sound/soc/sh/rcar/adg.c:30:18: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations]
/home/broonie/build/linux-stable/sound/soc/sh/rcar/adg.c:30:18: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:26:12: warning: 'one' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/gpio/gpio-sch311x.c:286:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2968:10: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c:1379:1: warning: the frame size of 1504 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/net/netfilter/nfnetlink.c:364:14: warning: unused variable 'net' [-Wunused-variable]
/home/broonie/build/linux-stable/include/linux/kernel.h:712:17: warning: comparison of distinct pointer types lacks a cast
/home/broonie/build/linux-stable/net/netfilter/nft_compat.c:289:9: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:49:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:64:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_MARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:103:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DIRECTION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_STATUS' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SECMARK' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_EXPIRATION' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_HELPER' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_L3PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTOCOL' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_SRC' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_ct.c:146:2: warning: enumeration value 'NFT_CT_PROTO_DST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/net/netfilter/nft_reject.c:59:2: warning: enumeration value 'NFT_REJECT_TCP_RST' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
/home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
/home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/linux/kern_levels.h:4:18: warning: format '%li' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat=]
/home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/linux/blkdev.h:602:26: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1060:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1043:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp]
/home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:303:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:307:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:467:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:954:33: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:954:33: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/tty/serial/efm32-uart.c:834:20: warning: 'efm32_uart_exit' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_driver.c:961:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:103:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_tty.c:658:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgnc/dgnc_tty.c:583:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/uapi/linux/swab.h:13:15: warning: integer overflow in expression [-Woverflow]
/home/broonie/build/linux-stable/drivers/staging/imx-drm/imx-drm-core.c:87:25: warning: unused variable 'imxdrm' [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3253:1: warning: the frame size of 1296 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:759:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 2 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2721:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:26:12: warning: 'one' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.13.11
Git describe: v3.13.11
Commit: 2d20120bba Linux 3.13.11
Build Time: 0 min 11 sec
Passed: 0 / 9 ( 0.00 %)
Failed: 9 / 9 (100.00 %)
Errors: 4
Warnings: 2
Section Mismatches: 0
Failed defconfigs:
arm64-allnoconfig
arm64-allmodconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allnoconfig
x86_64-allmodconfig
arm64-defconfig
Errors:
arm64-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm64-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-multi_v7_defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm64-defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm-multi_v7_defconfig
1 warnings 0 mismatches : arm-allnoconfig
3 warnings 0 mismatches : x86_64-allnoconfig
3 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 4
12 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings Summary: 2
6 /home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 /home/broonie/build/linux-stable/scripts/kconfig/menu.c:587:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : FAIL, 2 errors, 2 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 2 errors, 1 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:587:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:587:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm64-defconfig : FAIL, 2 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:587:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:176:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.12.74
Git describe: v3.12.74
Commit: 8c26eee9ed Linux 3.12.74
Build Time: 30 min 5 sec
Passed: 8 / 8 (100.00 %)
Failed: 0 / 8 ( 0.00 %)
Errors: 0
Warnings: 80
Section Mismatches: 0
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
35 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm-multi_v7_defconfig
15 warnings 0 mismatches : x86_64-defconfig
37 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : x86_64-allnoconfig
2 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Warnings Summary: 80
3 /home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2925:10: warning: switch condition has boolean value [-Wswitch-bool]
2 /home/broonie/build/linux-stable/kernel/cpu.c:185:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
2 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
2 /home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:941:59: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
2 /home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4052:42: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
2 /home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4043:54: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
2 /home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:2629:62: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
2 /home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
2 /home/broonie/build/linux-stable/arch/x86/kernel/ptrace.c:129:18: warning: 'arg_offs_table' defined but not used [-Wunused-const-variable=]
2 /home/broonie/build/linux-stable/arch/x86/kernel/head64.c:165:20: warning: passing argument 2 of 'set_intr_gate' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
2 /home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
1 /home/broonie/build/linux-stable/sound/pci/hda/patch_sigmatel.c:1020:30: warning: 'stac9200_core_init' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/net/ipv4/ping.c:1147:36: warning: 'ping_v4_seq_ops' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/net/ipv4/arp.c:152:31: warning: 'arp_broken_ops' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/net/core/net-sysfs.c:30:19: warning: 'fmt_long_hex' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/kernel/cgroup.c:1276:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
1 /home/broonie/build/linux-stable/include/linux/ftrace.h:615:40: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 /home/broonie/build/linux-stable/include/linux/ftrace.h:614:40: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 /home/broonie/build/linux-stable/drivers/video/xen-fbfront.c:588:54: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/video/omap2/displays-new/panel-sony-acx565akm.c:608:25: warning: unused variable 'ddata' [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/video/aty/radeon_pm.c:1718:13: warning: 'radeon_reinitialize_M10' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/usb/storage/realtek_cr.c:699:13: warning: 'fw5895_init' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/usb/storage/realtek_cr.c:629:12: warning: 'config_autodelink_before_power_down' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/tty/serial/efm32-uart.c:834:20: warning: 'efm32_uart_exit' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:758:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3257:1: warning: the frame size of 1864 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/staging/rts5139/rts51x.c:204:13: warning: 'rts51x_try_to_enter_ss' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/staging/dgnc/dgnc_tty.c:613:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_tty.c:664:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:173:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:112:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/dgap/dgap_driver.c:982:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1440:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1426:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1387:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1 /home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1461:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1336:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8517:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8510:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7901:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7898:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/regulator/tps62360-regulator.c:363:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
1 /home/broonie/build/linux-stable/drivers/power/pm2301_charger.c:725:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1559:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1390:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1060:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1043:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 9728 bytes is larger than 2048 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:911:2: warning: #warning Processor architecture undefined [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:625:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
1 /home/broonie/build/linux-stable/drivers/mtd/nand/gpmi-nand/gpmi-nand.c:120:13: warning: 'set_geometry_by_ecc_info' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/mfd/tps65217.c:173:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/mfd/arizona-core.c:509:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/media/radio/radio-shark2.c:240:13: warning: 'shark_resume_leds' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/media/radio/radio-shark.c:274:13: warning: 'shark_resume_leds' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/input/misc/xen-kbdfront.c:257:54: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:112:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/gpu/drm/i915/intel_tv.c:340:38: warning: 'hdtv_csc_rgb' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/drivers/gpu/drm/i915/intel_tv.c:328:38: warning: 'sdtv_csc_rgb' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/drivers/gpio/gpio-mcp23s08.c:643:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/dma/pl330.c:2317:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1694:3: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1694:3: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1042:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/cpufreq/acpi-cpufreq.c:1058:36: warning: 'processor_device_ids' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/drivers/cpufreq/acpi-cpufreq.c:1051:32: warning: 'acpi_cpufreq_ids' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/acpi/video.c:203:19: warning: 'device_decode' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/drivers/acpi/dock.c:54:36: warning: 'dock_device_ids' defined but not used [-Wunused-const-variable=]
1 /home/broonie/build/linux-stable/arch/arm/mach-cns3xxx/pcie.c:350:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 35 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/kernel/cpu.c:185:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1042:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1694:3: warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:1694:3: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/pl330.c:2317:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/gpio/gpio-mcp23s08.c:643:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:112:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
/home/broonie/build/linux-stable/drivers/input/misc/xen-kbdfront.c:257:54: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2925:10: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/drivers/mfd/arizona-core.c:509:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/mfd/tps65217.c:173:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/media/radio/radio-shark.c:274:13: warning: 'shark_resume_leds' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/media/radio/radio-shark2.c:240:13: warning: 'shark_resume_leds' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/power/reset/xgene-reboot.c:80:17: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
/home/broonie/build/linux-stable/drivers/regulator/tps62360-regulator.c:363:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1336:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-atmel.c:1461:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1387:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1426:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/staging/bcm/CmHost.c:1440:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 9728 bytes is larger than 2048 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:136:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/drivers/video/xen-fbfront.c:588:54: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'long long unsigned int' [-Wformat=]
/home/broonie/build/linux-stable/drivers/usb/storage/realtek_cr.c:629:12: warning: 'config_autodelink_before_power_down' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/usb/storage/realtek_cr.c:699:13: warning: 'fw5895_init' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/staging/rts5139/rts51x.c:204:13: warning: 'rts51x_try_to_enter_ss' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:941:59: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:2629:62: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4043:54: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4052:42: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2925:10: warning: switch condition has boolean value [-Wswitch-bool]
-------------------------------------------------------------------------------
x86_64-defconfig : PASS, 0 errors, 15 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/arch/x86/kernel/ptrace.c:129:18: warning: 'arg_offs_table' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/include/linux/ftrace.h:614:40: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
/home/broonie/build/linux-stable/include/linux/ftrace.h:615:40: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
/home/broonie/build/linux-stable/arch/x86/kernel/head64.c:165:20: warning: passing argument 2 of 'set_intr_gate' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/kernel/cgroup.c:1276:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
/home/broonie/build/linux-stable/sound/pci/hda/patch_sigmatel.c:1020:30: warning: 'stac9200_core_init' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/acpi/dock.c:54:36: warning: 'dock_device_ids' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/acpi/video.c:203:19: warning: 'device_decode' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/net/core/net-sysfs.c:30:19: warning: 'fmt_long_hex' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/net/ipv4/arp.c:152:31: warning: 'arp_broken_ops' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/cpufreq/acpi-cpufreq.c:1058:36: warning: 'processor_device_ids' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/cpufreq/acpi-cpufreq.c:1051:32: warning: 'acpi_cpufreq_ids' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/net/ipv4/ping.c:1147:36: warning: 'ping_v4_seq_ops' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/gpu/drm/i915/intel_tv.c:340:38: warning: 'hdtv_csc_rgb' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/drivers/gpu/drm/i915/intel_tv.c:328:38: warning: 'sdtv_csc_rgb' defined but not used [-Wunused-const-variable=]
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 37 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/arch/arm/mach-cns3xxx/pcie.c:350:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/fs/nfs/nfs4proc.c:2925:10: warning: switch condition has boolean value [-Wswitch-bool]
/home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/mtd/nand/gpmi-nand/gpmi-nand.c:120:13: warning: 'set_geometry_by_ecc_info' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1060:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1043:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:625:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
/home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1390:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1559:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/power/pm2301_charger.c:725:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:911:2: warning: #warning Processor architecture undefined [-Wcpp]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_driver.c:982:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:173:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_fep5.c:112:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgap/dgap_tty.c:664:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/dgnc/dgnc_tty.c:613:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:941:59: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:2629:62: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4043:54: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c:4052:42: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7901:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7898:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8517:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8510:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
/home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3257:1: warning: the frame size of 1864 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:758:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/tty/serial/efm32-uart.c:834:20: warning: 'efm32_uart_exit' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/video/aty/radeon_pm.c:1718:13: warning: 'radeon_reinitialize_M10' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/video/omap2/displays-new/panel-sony-acx565akm.c:608:25: warning: unused variable 'ddata' [-Wunused-variable]
/home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/arch/x86/kernel/ptrace.c:129:18: warning: 'arg_offs_table' defined but not used [-Wunused-const-variable=]
/home/broonie/build/linux-stable/arch/x86/kernel/head64.c:165:20: warning: passing argument 2 of 'set_intr_gate' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/kernel/cpu.c:185:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-allnoconfig
Tree/Branch: v3.11.10
Git describe: v3.11.10
Commit: 5ee54f3817 Linux 3.11.10
Build Time: 0 min 14 sec
Passed: 0 / 9 ( 0.00 %)
Failed: 9 / 9 (100.00 %)
Errors: 4
Warnings: 8
Section Mismatches: 0
Failed defconfigs:
arm64-allnoconfig
arm64-allmodconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allnoconfig
x86_64-allmodconfig
arm64-defconfig
Errors:
arm64-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm64-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-multi_v7_defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm64-defconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
5 warnings 0 mismatches : arm64-allmodconfig
3 warnings 0 mismatches : arm-multi_v7_defconfig
5 warnings 0 mismatches : arm-allmodconfig
1 warnings 0 mismatches : arm-allnoconfig
4 warnings 0 mismatches : x86_64-allnoconfig
5 warnings 0 mismatches : x86_64-allmodconfig
4 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 4
12 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings Summary: 8
6 /home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 /home/broonie/build/linux-stable/scripts/sortextable.c:68:1: warning: 'succeed_file' defined but not used [-Wunused-function]
3 /home/broonie/build/linux-stable/scripts/kconfig/menu.c:583:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
3 /home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TYPE_REF' not handled in switch [-Wswitch]
3 /home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TAG_OVERRIDE' not handled in switch [-Wswitch]
3 /home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'NOT_COMPOUND' not handled in switch [-Wswitch]
3 /home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'CHOICE' not handled in switch [-Wswitch]
3 /home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'ANY' not handled in switch [-Wswitch]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
arm64-allmodconfig : FAIL, 2 errors, 5 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'NOT_COMPOUND' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'CHOICE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'ANY' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TYPE_REF' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TAG_OVERRIDE' not handled in switch [-Wswitch]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : FAIL, 2 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.c:68:1: warning: 'succeed_file' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 2 errors, 5 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'NOT_COMPOUND' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'CHOICE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'ANY' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TYPE_REF' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TAG_OVERRIDE' not handled in switch [-Wswitch]
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 2 errors, 1 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:583:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 4 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:583:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.c:68:1: warning: 'succeed_file' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 3 errors, 5 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'NOT_COMPOUND' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'CHOICE' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'ANY' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TYPE_REF' not handled in switch [-Wswitch]
/home/broonie/build/linux-stable/scripts/asn1_compiler.c:1341:3: warning: enumeration value 'TAG_OVERRIDE' not handled in switch [-Wswitch]
-------------------------------------------------------------------------------
arm64-defconfig : FAIL, 2 errors, 4 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/kconfig/menu.c:583:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.c:68:1: warning: 'succeed_file' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.10.108
Git describe: v3.10.108
Commit: e7a59c7f26 Linux 3.10.108
Build Time: 22 min 33 sec
Passed: 6 / 9 ( 66.67 %)
Failed: 3 / 9 ( 33.33 %)
Errors: 3
Warnings: 81
Section Mismatches: 0
Failed defconfigs:
x86_64-defconfig
x86_64-allnoconfig
x86_64-allmodconfig
Errors:
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm64-allnoconfig
27 warnings 0 mismatches : arm64-allmodconfig
6 warnings 0 mismatches : arm-multi_v7_defconfig
57 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : arm-allnoconfig
3 warnings 0 mismatches : x86_64-allnoconfig
6 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Errors summary: 3
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings Summary: 81
4 /home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
4 /home/broonie/build/linux-stable/net/core/sysctl_net_core.c:24:12: warning: 'one' defined but not used [-Wunused-variable]
4 /home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
3 /home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:74:3: warning: value computed is not used [-Wunused-value]
2 /home/broonie/build/linux-stable/scripts/sortextable.c:64:1: warning: 'succeed_file' defined but not used [-Wunused-function]
2 /home/broonie/build/linux-stable/kernel/cpu.c:188:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
2 /home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
2 /home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 /home/broonie/build/linux-stable/drivers/tty/sysrq.c:907:33: warning: array subscript is above array bounds [-Warray-bounds]
2 /home/broonie/build/linux-stable/drivers/net/wireless/iwlwifi/mvm/fw.c:90:64: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
2 /home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
2 /home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
1 /home/broonie/build/linux-stable/sound/soc/codecs/max98090.c:2354:12: warning: 'max98090_runtime_suspend' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/kernel/auditfilter.c:426:3: warning: this decimal constant is unsigned only in ISO C90
1 /home/broonie/build/linux-stable/include/linux/kernel.h:676:17: warning: comparison of distinct pointer types lacks a cast
1 /home/broonie/build/linux-stable/include/linux/kern_levels.h:4:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'resource_size_t {aka long long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/include/linux/clocksource.h:345:20: warning: comparison of distinct pointer types lacks a cast
1 /home/broonie/build/linux-stable/drivers/video/aty/radeon_pm.c:1718:13: warning: 'radeon_reinitialize_M10' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/usb/host/xhci.c:3605:17: warning: unused variable 'dev' [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/usb/host/xhci.c:3519:17: warning: unused variable 'dev' [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:758:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3257:1: warning: the frame size of 1864 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
1 /home/broonie/build/linux-stable/drivers/spi/spi-gpio.c:255:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/scsi/pm8001/pm8001_init.c:427:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8517:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8510:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7901:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7898:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
1 /home/broonie/build/linux-stable/drivers/regulator/tps62360-regulator.c:364:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/power/twl4030_charger.c:192:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/power/pm2301_charger.c:725:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1558:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1389:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1053:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1036:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 8688 bytes is larger than 2048 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/sfc/selftest.c:389:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/neterion/vxge/vxge-main.c:2143:13: warning: 'adaptive_coalesce_rx_interrupts' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/neterion/vxge/vxge-main.c:2115:13: warning: 'adaptive_coalesce_tx_interrupts' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:911:2: warning: #warning Processor architecture undefined [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:625:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
1 /home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/mmc/host/tmio_mmc_pio.c:798:3: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/misc/lkdtm.c:276:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/mfd/tps65217.c:173:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/media/platform/omap3isp/ispccp2.c:167:3: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/media/platform/davinci/vpfe_capture.c:291:12: warning: 'vpfe_get_ccdc_image_format' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/media/platform/davinci/vpfe_capture.c:1716:1: warning: label 'unlock_out' defined but not used [-Wunused-label]
1 /home/broonie/build/linux-stable/drivers/media/platform/coda.c:952:40: warning: array subscript is above array bounds [-Warray-bounds]
1 /home/broonie/build/linux-stable/drivers/media/platform/coda.c:944:39: warning: array subscript is above array bounds [-Warray-bounds]
1 /home/broonie/build/linux-stable/drivers/iommu/omap-iommu.c:1245:17: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/iommu/omap-iommu.c:1238:17: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/input/keyboard/cros_ec_keyb.c:210:13: warning: 'cros_ec_keyb_clear_keyboard' defined but not used [-Wunused-function]
1 /home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
1 /home/broonie/build/linux-stable/drivers/infiniband/hw/nes/nes_hw.c:92:23: warning: 'nes_tcp_state_str' defined but not used [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/infiniband/hw/nes/nes_hw.c:81:23: warning: 'nes_iwarp_state_str' defined but not used [-Wunused-variable]
1 /home/broonie/build/linux-stable/drivers/infiniband/hw/cxgb4/mem.c:79:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:111:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/gpu/drm/exynos/exynos_hdmi.c:1702:2: warning: ignoring return value of 'regulator_bulk_enable', declared with attribute warn_unused_result [-Wunused-result]
1 /home/broonie/build/linux-stable/drivers/gpio/gpio-mcp23s08.c:622:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/dma/pl330.c:2379:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1 /home/broonie/build/linux-stable/drivers/dma/pl330.c:2058:5: warning: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Wincompatible-pointer-types]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:920:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:848:31: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:848:31: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
1 /home/broonie/build/linux-stable/drivers/block/mtip32xx/mtip32xx.c:2827:1: warning: the frame size of 1080 bytes is larger than 1024 bytes [-Wframe-larger-than=]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
1 /home/broonie/build/linux-stable/arch/arm/mm/init.c:731:35: warning: passing argument 2 of 'free_reserved_area' makes integer from pointer without a cast [-Wint-conversion]
1 /home/broonie/build/linux-stable/arch/arm/mm/init.c:731:21: warning: passing argument 1 of 'free_reserved_area' makes integer from pointer without a cast [-Wint-conversion]
1 /home/broonie/build/linux-stable/arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable 'ret' [-Wunused-variable]
1 ....../home/broonie/build/linux-stable/sound/soc/codecs/max98090.c:2341:12: warning: 'max98090_runtime_resume' defined but not used [-Wunused-function]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 27 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/kernel/cpu.c:188:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:74:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:74:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:74:3: warning: value computed is not used [-Wunused-value]
....../home/broonie/build/linux-stable/sound/soc/codecs/max98090.c:2341:12: warning: 'max98090_runtime_resume' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/sound/soc/codecs/max98090.c:2354:12: warning: 'max98090_runtime_suspend' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:848:31: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:848:31: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/amba-pl08x.c:920:5: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t {aka long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/dma/pl330.c:2058:5: warning: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Wincompatible-pointer-types]
/home/broonie/build/linux-stable/drivers/dma/pl330.c:2379:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/gpio/gpio-mcp23s08.c:622:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/iio/adc/exynos_adc.c:111:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/input/joystick/analog.c:171:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:24:12: warning: 'one' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/input/keyboard/cros_ec_keyb.c:210:13: warning: 'cros_ec_keyb_clear_keyboard' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/mfd/tps65217.c:173:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/regulator/tps62360-regulator.c:364:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/drivers/spi/spi-gpio.c:255:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/spi/spi-pl022.c:281:31: warning: large integer implicitly truncated to unsigned type [-Woverflow]
/home/broonie/build/linux-stable/include/linux/kern_levels.h:4:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'resource_size_t {aka long long unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/drivers/net/wireless/ti/wlcore/spi.c:321:1: warning: the frame size of 8688 bytes is larger than 2048 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.c:64:1: warning: 'succeed_file' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:24:12: warning: 'one' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 57 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/arch/arm/mm/init.c:731:21: warning: passing argument 1 of 'free_reserved_area' makes integer from pointer without a cast [-Wint-conversion]
/home/broonie/build/linux-stable/arch/arm/mm/init.c:731:35: warning: passing argument 2 of 'free_reserved_area' makes integer from pointer without a cast [-Wint-conversion]
/home/broonie/build/linux-stable/arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable 'ret' [-Wunused-variable]
/home/broonie/build/linux-stable/kernel/auditfilter.c:426:3: warning: this decimal constant is unsigned only in ISO C90
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:377:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:380:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/ata/pata_hpt366.c:383:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/include/linux/kernel.h:676:17: warning: comparison of distinct pointer types lacks a cast
/home/broonie/build/linux-stable/drivers/block/mtip32xx/mtip32xx.c:2827:1: warning: the frame size of 1080 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/include/linux/clocksource.h:345:20: warning: comparison of distinct pointer types lacks a cast
/home/broonie/build/linux-stable/drivers/gpu/drm/exynos/exynos_hdmi.c:1702:2: warning: ignoring return value of 'regulator_bulk_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:24:12: warning: 'one' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/infiniband/hw/cxgb4/mem.c:79:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/infiniband/hw/nes/nes_hw.c:81:23: warning: 'nes_iwarp_state_str' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/infiniband/hw/nes/nes_hw.c:92:23: warning: 'nes_tcp_state_str' defined but not used [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/iommu/omap-iommu.c:1238:17: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/drivers/iommu/omap-iommu.c:1245:17: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
/home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
/home/broonie/build/linux-stable/include/linux/dynamic_debug.h:78:3: warning: unsupported argument to '__builtin_return_address'
/home/broonie/build/linux-stable/drivers/mtd/chips/cfi_cmdset_0020.c:654:1: warning: the frame size of 1192 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/misc/lkdtm.c:276:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/mmc/host/tmio_mmc_pio.c:798:3: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/media/platform/davinci/vpfe_capture.c:1716:1: warning: label 'unlock_out' defined but not used [-Wunused-label]
/home/broonie/build/linux-stable/drivers/media/platform/davinci/vpfe_capture.c:291:12: warning: 'vpfe_get_ccdc_image_format' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1053:2: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/pinctrl/pinctrl-bcm2835.c:1036:3: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/media/platform/omap3isp/ispccp2.c:167:3: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/net/ethernet/amd/nmclan_cs.c:625:3: warning: 'pcmcia_request_exclusive_irq' is deprecated [-Wdeprecated-declarations]
/home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1389:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/power/ab8500_charger.c:1558:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/media/platform/coda.c:944:39: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/media/platform/coda.c:952:40: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/power/pm2301_charger.c:725:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/power/twl4030_charger.c:192:4: warning: ignoring return value of 'regulator_enable', declared with attribute warn_unused_result [-Wunused-result]
/home/broonie/build/linux-stable/drivers/net/ethernet/dec/tulip/winbond-840.c:911:2: warning: #warning Processor architecture undefined [-Wcpp]
/home/broonie/build/linux-stable/net/sunrpc/xprtrdma/verbs.c:1774:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/net/ethernet/neterion/vxge/vxge-main.c:2115:13: warning: 'adaptive_coalesce_tx_interrupts' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/net/ethernet/neterion/vxge/vxge-main.c:2143:13: warning: 'adaptive_coalesce_rx_interrupts' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/net/ethernet/sfc/selftest.c:389:9: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:907:33: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/tty/sysrq.c:907:33: warning: array subscript is above array bounds [-Warray-bounds]
/home/broonie/build/linux-stable/drivers/scsi/pm8001/pm8001_init.c:427:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/drivers/net/wireless/iwlwifi/mvm/fw.c:90:64: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/net/wireless/iwlwifi/mvm/fw.c:90:64: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
/home/broonie/build/linux-stable/drivers/usb/host/xhci.c:3519:17: warning: unused variable 'dev' [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/usb/host/xhci.c:3605:17: warning: unused variable 'dev' [-Wunused-variable]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7901:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:7898:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8517:5: warning: case value '257' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/aic7xxx_old.c:8510:5: warning: case value '513' not in enumerated type 'ahc_chip {aka enum <anonymous>}' [-Wswitch]
/home/broonie/build/linux-stable/drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp]
/home/broonie/build/linux-stable/drivers/staging/sm7xxfb/sm7xxfb.c:117:19: warning: 'sm7xx_vga_setup' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/video/aty/radeon_pm.c:1718:13: warning: 'radeon_reinitialize_M10' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/drivers/staging/vt6655/device_main.c:3257:1: warning: the frame size of 1864 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/vt6655/iwctl.c:758:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/drivers/staging/wlan-ng/prism2fw.c:795:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
/home/broonie/build/linux-stable/Documentation/misc-devices/mei/mei-amt-version.c:103:5: warning: 'acmd.fd' is used uninitialized in this function [-Wuninitialized]
-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2586:6: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 3 errors, 3 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
Warnings:
/home/broonie/build/linux-stable/scripts/sortextable.c:64:1: warning: 'succeed_file' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/scripts/sortextable.h:158:3: warning: 'relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 3 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/devicetable-offsets.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
/home/broonie/build/linux-stable/kernel/cpu.c:188:13: warning: 'cpu_notify_nofail' defined but not used [-Wunused-function]
/home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/fs/namespace.c:2586:8: warning: 'kernel_type' may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/broonie/build/linux-stable/drivers/net/ethernet/smsc/smc91x.c:1899:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/home/broonie/build/linux-stable/arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
/home/broonie/build/linux-stable/net/core/sysctl_net_core.c:24:12: warning: 'one' defined but not used [-Wunused-variable]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
The patch
ASoC: ssm2602: Replace reg_default_raw with reg_default
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
>From b9f6c09ae07cb7019626df0757be6b407f94261a Mon Sep 17 00:00:00 2001
From: James Kelly <jamespeterkelly(a)gmail.com>
Date: Thu, 15 Mar 2018 09:24:16 +1100
Subject: [PATCH] ASoC: ssm2602: Replace reg_default_raw with reg_default
SSM2602 driver is broken on recent kernels (at least
since 4.9). User space applications such as amixer or
alsamixer get EIO when attempting to access codec
controls via the relevant IOCTLs.
Root cause of these failures is the regcache_hw_init
function in drivers/base/regmap/regcache.c, which
prevents regmap cache initalization from the
reg_defaults_raw element of the regmap_config structure
when registers are write only. It also disables the
regmap cache entirely when all registers are write only
or volatile as is the case for the SSM2602 driver.
Using the reg_defaults element of the regmap_config
structure rather than the reg_defaults_raw element to
initalize the regmap cache avoids the logic in the
regcache_hw_init function entirely. It also makes this
driver consistent with other ASoC codec drivers, as
this driver was the ONLY codec driver that used the
reg_defaults_raw element to initalize the cache.
Tested on Digilent Zybo Z7 development board which has
a SSM2603 codec chip connected to a Xilinx Zynq SoC.
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Cc: stable(a)vger.kernel.org
---
sound/soc/codecs/ssm2602.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/sound/soc/codecs/ssm2602.c b/sound/soc/codecs/ssm2602.c
index 031e0eabcc1f..501a4e73b185 100644
--- a/sound/soc/codecs/ssm2602.c
+++ b/sound/soc/codecs/ssm2602.c
@@ -54,10 +54,17 @@ struct ssm2602_priv {
* using 2 wire for device control, so we cache them instead.
* There is no point in caching the reset register
*/
-static const u16 ssm2602_reg[SSM2602_CACHEREGNUM] = {
- 0x0097, 0x0097, 0x0079, 0x0079,
- 0x000a, 0x0008, 0x009f, 0x000a,
- 0x0000, 0x0000
+static const struct reg_default ssm2602_reg[SSM2602_CACHEREGNUM] = {
+ { .reg = 0x00, .def = 0x0097 },
+ { .reg = 0x01, .def = 0x0097 },
+ { .reg = 0x02, .def = 0x0079 },
+ { .reg = 0x03, .def = 0x0079 },
+ { .reg = 0x04, .def = 0x000a },
+ { .reg = 0x05, .def = 0x0008 },
+ { .reg = 0x06, .def = 0x009f },
+ { .reg = 0x07, .def = 0x000a },
+ { .reg = 0x08, .def = 0x0000 },
+ { .reg = 0x09, .def = 0x0000 }
};
@@ -621,8 +628,8 @@ const struct regmap_config ssm2602_regmap_config = {
.volatile_reg = ssm2602_register_volatile,
.cache_type = REGCACHE_RBTREE,
- .reg_defaults_raw = ssm2602_reg,
- .num_reg_defaults_raw = ARRAY_SIZE(ssm2602_reg),
+ .reg_defaults = ssm2602_reg,
+ .num_reg_defaults = ARRAY_SIZE(ssm2602_reg),
};
EXPORT_SYMBOL_GPL(ssm2602_regmap_config);
--
2.16.2
Tree/Branch: v3.1.10
Git describe: v3.1.10
Commit: 9bb1282f6a Linux 3.1.10
Build Time: 0 min 4 sec
Passed: 0 / 5 ( 0.00 %)
Failed: 5 / 5 (100.00 %)
Errors: 3
Warnings: 2
Section Mismatches: 0
Failed defconfigs:
x86_64-allnoconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allmodconfig
x86_64-defconfig
Errors:
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-allmodconfig
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Errors summary: 3
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
2 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings Summary: 2
1 /home/broonie/build/linux-stable/scripts/dtc/flattree.c:700:14: warning: variable 'p' set but not used [-Wunused-but-set-variable]
1 /home/broonie/build/linux-stable/scripts/dtc/dtc.c:102:17: warning: variable 'check' set but not used [-Wunused-but-set-variable]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 1 errors, 2 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/dtc/dtc.c:102:17: warning: variable 'check' set but not used [-Wunused-but-set-variable]
/home/broonie/build/linux-stable/scripts/dtc/flattree.c:700:14: warning: variable 'p' set but not used [-Wunused-but-set-variable]
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 1 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
Tree/Branch: v3.0.101
Git describe: v3.0.101
Commit: 5dba9ddd98 Linux 3.0.101
Build Time: 0 min 3 sec
Passed: 0 / 5 ( 0.00 %)
Failed: 5 / 5 (100.00 %)
Errors: 3
Warnings: 2
Section Mismatches: 0
Failed defconfigs:
x86_64-allnoconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allmodconfig
x86_64-defconfig
Errors:
x86_64-allnoconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
arm-allmodconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:99:30: fatal error: linux/compiler-gcc5.h: No such file or directory
arm-allnoconfig
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:99:30: fatal error: linux/compiler-gcc5.h: No such file or directory
x86_64-allmodconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
x86_64-defconfig
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Errors summary: 3
3 /home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
3 /home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
2 /home/broonie/build/linux-stable/include/linux/compiler-gcc.h:99:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings Summary: 2
1 /home/broonie/build/linux-stable/scripts/dtc/flattree.c:700:14: warning: variable 'p' set but not used [-Wunused-but-set-variable]
1 /home/broonie/build/linux-stable/scripts/dtc/dtc.c:102:17: warning: variable 'check' set but not used [-Wunused-but-set-variable]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
x86_64-allnoconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 1 errors, 2 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:99:30: fatal error: linux/compiler-gcc5.h: No such file or directory
Warnings:
/home/broonie/build/linux-stable/scripts/dtc/dtc.c:102:17: warning: variable 'check' set but not used [-Wunused-but-set-variable]
/home/broonie/build/linux-stable/scripts/dtc/flattree.c:700:14: warning: variable 'p' set but not used [-Wunused-but-set-variable]
-------------------------------------------------------------------------------
arm-allnoconfig : FAIL, 1 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/include/linux/compiler-gcc.h:99:30: fatal error: linux/compiler-gcc5.h: No such file or directory
-------------------------------------------------------------------------------
x86_64-allmodconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
x86_64-defconfig : FAIL, 2 errors, 0 warnings, 0 section mismatches
Errors:
/home/broonie/build/linux-stable/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/home/broonie/build/linux-stable/kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
This is a note to let you know that I've just added the patch titled
zd1211rw: fix NULL-deref at probe
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
zd1211rw-fix-null-deref-at-probe.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 13 Mar 2017 13:44:21 +0100
Subject: zd1211rw: fix NULL-deref at probe
From: Johan Hovold <johan(a)kernel.org>
[ Upstream commit ca260ece6a57dc7d751e0685f51fa2c55d851873 ]
Make sure to check the number of endpoints to avoid dereferencing a
NULL-pointer or accessing memory beyond the endpoint array should a
malicious device lack the expected endpoints.
Fixes: a1030e92c150 ("[PATCH] zd1211rw: Convert installer CDROM device into WLAN device")
Cc: Daniel Drake <dsd(a)gentoo.org>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Kalle Valo <kvalo(a)codeaurora.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
@@ -1278,6 +1278,9 @@ static int eject_installer(struct usb_in
u8 bulk_out_ep;
int r;
+ if (iface_desc->desc.bNumEndpoints < 2)
+ return -ENODEV;
+
/* Find bulk out endpoint */
for (r = 1; r >= 0; r--) {
endpoint = &iface_desc->endpoint[r].desc;
Patches currently in stable-queue which might be from johan(a)kernel.org are
queue-4.9/zd1211rw-fix-null-deref-at-probe.patch
This is a note to let you know that I've just added the patch titled
x86/mm: Make mmap(MAP_32BIT) work correctly
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
x86-mm-make-mmap-map_32bit-work-correctly.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Dmitry Safonov <dsafonov(a)virtuozzo.com>
Date: Mon, 6 Mar 2017 17:17:20 +0300
Subject: x86/mm: Make mmap(MAP_32BIT) work correctly
From: Dmitry Safonov <dsafonov(a)virtuozzo.com>
[ Upstream commit 3e6ef9c80946f781fc25e8490c9875b1d2b61158 ]
mmap(MAP_32BIT) is broken due to the dependency on the TIF_ADDR32 thread
flag.
For 64bit applications MAP_32BIT will force legacy bottom-up allocations and
the 1GB address space restriction even if the application issued a compat
syscall, which should not be subject of these restrictions.
For 32bit applications, which issue 64bit syscalls the newly introduced
mmap base separation into 64-bit and compat bases changed the behaviour
because now a 64-bit mapping is returned, but due to the TIF_ADDR32
dependency MAP_32BIT is ignored. Before the separation a 32-bit mapping was
returned, so the MAP_32BIT handling was irrelevant.
Replace the check for TIF_ADDR32 with a check for the compat syscall. That
solves both the 64-bit issuing a compat syscall and the 32-bit issuing a
64-bit syscall problems.
[ tglx: Massaged changelog ]
Signed-off-by: Dmitry Safonov <dsafonov(a)virtuozzo.com>
Cc: 0x7f454c46(a)gmail.com
Cc: linux-mm(a)kvack.org
Cc: Andy Lutomirski <luto(a)kernel.org>
Cc: Cyrill Gorcunov <gorcunov(a)openvz.org>
Cc: Borislav Petkov <bp(a)suse.de>
Cc: "Kirill A. Shutemov" <kirill.shutemov(a)linux.intel.com>
Link: http://lkml.kernel.org/r/20170306141721.9188-5-dsafonov@virtuozzo.com
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/x86/kernel/sys_x86_64.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/x86/kernel/sys_x86_64.c
+++ b/arch/x86/kernel/sys_x86_64.c
@@ -100,7 +100,7 @@ out:
static void find_start_end(unsigned long flags, unsigned long *begin,
unsigned long *end)
{
- if (!test_thread_flag(TIF_ADDR32) && (flags & MAP_32BIT)) {
+ if (!in_compat_syscall() && (flags & MAP_32BIT)) {
/* This is usually used needed to map code in small
model, so it needs to be in the first 31bit. Limit
it to that. This means we need to move the
@@ -175,7 +175,7 @@ arch_get_unmapped_area_topdown(struct fi
return addr;
/* for MAP_32BIT mappings we force the legacy mmap base */
- if (!test_thread_flag(TIF_ADDR32) && (flags & MAP_32BIT))
+ if (!in_compat_syscall() && (flags & MAP_32BIT))
goto bottomup;
/* requesting a specific address */
Patches currently in stable-queue which might be from dsafonov(a)virtuozzo.com are
queue-4.9/x86-mm-make-mmap-map_32bit-work-correctly.patch
This is a note to let you know that I've just added the patch titled
x86/mce: Init some CPU features early
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
x86-mce-init-some-cpu-features-early.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Yazen Ghannam <Yazen.Ghannam(a)amd.com>
Date: Wed, 15 Mar 2017 12:30:55 -0500
Subject: x86/mce: Init some CPU features early
From: Yazen Ghannam <Yazen.Ghannam(a)amd.com>
[ Upstream commit 5204bf17031b69fa5faa4dc80a9dc1e2446d74f9 ]
When the MCA banks in __mcheck_cpu_init_generic() are polled for leftover
errors logged during boot or from the previous boot, its required to have
CPU features detected sufficiently so that the reading out and handling of
those early errors is done correctly.
If those features are not available, the decoding may miss some information
and get incomplete errors logged. For example, on SMCA systems the MCA_IPID
and MCA_SYND registers are not logged and MCA_ADDR is not masked
appropriately.
To cure that, do a subset of the basic feature detection early while the
rest happens in its usual place in __mcheck_cpu_init_vendor().
Signed-off-by: Yazen Ghannam <Yazen.Ghannam(a)amd.com>
Cc: Tony Luck <tony.luck(a)intel.com>
Cc: linux-edac <linux-edac(a)vger.kernel.org>
Cc: x86-ml <x86(a)kernel.org>
Link: http://lkml.kernel.org/r/1489599055-20756-1-git-send-email-Yazen.Ghannam@am…
[ Massage commit message and simplify. ]
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/x86/kernel/cpu/mcheck/mce.c | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1695,30 +1695,35 @@ static int __mcheck_cpu_ancient_init(str
return 0;
}
-static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c)
+/*
+ * Init basic CPU features needed for early decoding of MCEs.
+ */
+static void __mcheck_cpu_init_early(struct cpuinfo_x86 *c)
{
- switch (c->x86_vendor) {
- case X86_VENDOR_INTEL:
- mce_intel_feature_init(c);
- mce_adjust_timer = cmci_intel_adjust_timer;
- break;
-
- case X86_VENDOR_AMD: {
+ if (c->x86_vendor == X86_VENDOR_AMD) {
mce_flags.overflow_recov = !!cpu_has(c, X86_FEATURE_OVERFLOW_RECOV);
mce_flags.succor = !!cpu_has(c, X86_FEATURE_SUCCOR);
mce_flags.smca = !!cpu_has(c, X86_FEATURE_SMCA);
- /*
- * Install proper ops for Scalable MCA enabled processors
- */
if (mce_flags.smca) {
msr_ops.ctl = smca_ctl_reg;
msr_ops.status = smca_status_reg;
msr_ops.addr = smca_addr_reg;
msr_ops.misc = smca_misc_reg;
}
- mce_amd_feature_init(c);
+ }
+}
+static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c)
+{
+ switch (c->x86_vendor) {
+ case X86_VENDOR_INTEL:
+ mce_intel_feature_init(c);
+ mce_adjust_timer = cmci_intel_adjust_timer;
+ break;
+
+ case X86_VENDOR_AMD: {
+ mce_amd_feature_init(c);
break;
}
@@ -1804,6 +1809,7 @@ void mcheck_cpu_init(struct cpuinfo_x86
machine_check_vector = do_machine_check;
+ __mcheck_cpu_init_early(c);
__mcheck_cpu_init_generic();
__mcheck_cpu_init_vendor(c);
__mcheck_cpu_init_clear_banks();
Patches currently in stable-queue which might be from Yazen.Ghannam(a)amd.com are
queue-4.9/x86-mce-init-some-cpu-features-early.patch
This is a note to let you know that I've just added the patch titled
x86/mce: Handle broadcasted MCE gracefully with kexec
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
x86-mce-handle-broadcasted-mce-gracefully-with-kexec.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Xunlei Pang <xlpang(a)redhat.com>
Date: Mon, 13 Mar 2017 10:50:19 +0100
Subject: x86/mce: Handle broadcasted MCE gracefully with kexec
From: Xunlei Pang <xlpang(a)redhat.com>
[ Upstream commit 5bc329503e8191c91c4c40836f062ef771d8ba83 ]
When we are about to kexec a crash kernel and right then and there a
broadcasted MCE fires while we're still in the first kernel and while
the other CPUs remain in a holding pattern, the #MC handler of the
first kernel will timeout and then panic due to never completing MCE
synchronization.
Handle this in a similar way as to when the CPUs are offlined when that
broadcasted MCE happens.
[ Boris: rewrote commit message and comments. ]
Suggested-by: Borislav Petkov <bp(a)alien8.de>
Signed-off-by: Xunlei Pang <xlpang(a)redhat.com>
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Acked-by: Tony Luck <tony.luck(a)intel.com>
Cc: Naoya Horiguchi <n-horiguchi(a)ah.jp.nec.com>
Cc: kexec(a)lists.infradead.org
Cc: linux-edac <linux-edac(a)vger.kernel.org>
Link: http://lkml.kernel.org/r/1487857012-9059-1-git-send-email-xlpang@redhat.com
Link: http://lkml.kernel.org/r/20170313095019.19351-1-bp@alien8.de
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/x86/include/asm/reboot.h | 1 +
arch/x86/kernel/cpu/mcheck/mce.c | 18 ++++++++++++++++--
arch/x86/kernel/reboot.c | 5 +++--
3 files changed, 20 insertions(+), 4 deletions(-)
--- a/arch/x86/include/asm/reboot.h
+++ b/arch/x86/include/asm/reboot.h
@@ -15,6 +15,7 @@ struct machine_ops {
};
extern struct machine_ops machine_ops;
+extern int crashing_cpu;
void native_machine_crash_shutdown(struct pt_regs *regs);
void native_machine_shutdown(void);
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -48,6 +48,7 @@
#include <asm/tlbflush.h>
#include <asm/mce.h>
#include <asm/msr.h>
+#include <asm/reboot.h>
#include "mce-internal.h"
@@ -1081,9 +1082,22 @@ void do_machine_check(struct pt_regs *re
* on Intel.
*/
int lmce = 1;
+ int cpu = smp_processor_id();
- /* If this CPU is offline, just bail out. */
- if (cpu_is_offline(smp_processor_id())) {
+ /*
+ * Cases where we avoid rendezvous handler timeout:
+ * 1) If this CPU is offline.
+ *
+ * 2) If crashing_cpu was set, e.g. we're entering kdump and we need to
+ * skip those CPUs which remain looping in the 1st kernel - see
+ * crash_nmi_callback().
+ *
+ * Note: there still is a small window between kexec-ing and the new,
+ * kdump kernel establishing a new #MC handler where a broadcasted MCE
+ * might not get handled properly.
+ */
+ if (cpu_is_offline(cpu) ||
+ (crashing_cpu != -1 && crashing_cpu != cpu)) {
u64 mcgstatus;
mcgstatus = mce_rdmsrl(MSR_IA32_MCG_STATUS);
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -769,10 +769,11 @@ void machine_crash_shutdown(struct pt_re
#endif
+/* This is the CPU performing the emergency shutdown work. */
+int crashing_cpu = -1;
+
#if defined(CONFIG_SMP)
-/* This keeps a track of which one is crashing cpu. */
-static int crashing_cpu;
static nmi_shootdown_cb shootdown_callback;
static atomic_t waiting_for_crash_ipi;
Patches currently in stable-queue which might be from xlpang(a)redhat.com are
queue-4.9/rtmutex-fix-pi-chain-order-integrity.patch
queue-4.9/x86-mce-handle-broadcasted-mce-gracefully-with-kexec.patch
This is a note to let you know that I've just added the patch titled
wil6210: fix protection against connections during reset
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
wil6210-fix-protection-against-connections-during-reset.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Hamad Kadmany <qca_hkadmany(a)qca.qualcomm.com>
Date: Wed, 5 Apr 2017 14:58:08 +0300
Subject: wil6210: fix protection against connections during reset
From: Hamad Kadmany <qca_hkadmany(a)qca.qualcomm.com>
[ Upstream commit b819447dfc4bd120c9d6cd8521252d544fce8fe7 ]
Existing code that ignores connection events during
reset flow will never take effect since it locks the
same mutex taken by the reset flow.
In addition, in case of unsolicited disconnect events ignore
those as well since device is about to get reset.
Signed-off-by: Hamad Kadmany <qca_hkadmany(a)qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez(a)qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/wil6210/wmi.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/ath/wil6210/wmi.c
+++ b/drivers/net/wireless/ath/wil6210/wmi.c
@@ -501,16 +501,16 @@ static void wmi_evt_connect(struct wil62
assoc_resp_ielen = 0;
}
- mutex_lock(&wil->mutex);
if (test_bit(wil_status_resetting, wil->status) ||
!test_bit(wil_status_fwready, wil->status)) {
wil_err(wil, "status_resetting, cancel connect event, CID %d\n",
evt->cid);
- mutex_unlock(&wil->mutex);
/* no need for cleanup, wil_reset will do that */
return;
}
+ mutex_lock(&wil->mutex);
+
if ((wdev->iftype == NL80211_IFTYPE_STATION) ||
(wdev->iftype == NL80211_IFTYPE_P2P_CLIENT)) {
if (!test_bit(wil_status_fwconnecting, wil->status)) {
@@ -608,6 +608,13 @@ static void wmi_evt_disconnect(struct wi
wil->sinfo_gen++;
+ if (test_bit(wil_status_resetting, wil->status) ||
+ !test_bit(wil_status_fwready, wil->status)) {
+ wil_err(wil, "status_resetting, cancel disconnect event\n");
+ /* no need for cleanup, wil_reset will do that */
+ return;
+ }
+
mutex_lock(&wil->mutex);
wil6210_disconnect(wil, evt->bssid, reason_code, true);
mutex_unlock(&wil->mutex);
Patches currently in stable-queue which might be from qca_hkadmany(a)qca.qualcomm.com are
queue-4.9/wil6210-fix-protection-against-connections-during-reset.patch
This is a note to let you know that I've just added the patch titled
wil6210: fix memory access violation in wil_memcpy_from/toio_32
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
wil6210-fix-memory-access-violation-in-wil_memcpy_from-toio_32.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Dedy Lansky <qca_dlansky(a)qca.qualcomm.com>
Date: Wed, 5 Apr 2017 14:58:11 +0300
Subject: wil6210: fix memory access violation in wil_memcpy_from/toio_32
From: Dedy Lansky <qca_dlansky(a)qca.qualcomm.com>
[ Upstream commit 0f6edfe2bbbb59d161580cb4870fcc46f5490f85 ]
In case count is not multiple of 4, there is a read access in
wil_memcpy_toio_32() from outside src buffer boundary.
In wil_memcpy_fromio_32(), in case count is not multiple of 4, there is
a write access to outside dst io memory boundary.
Fix these issues with proper handling of the last 1 to 4 copied bytes.
Signed-off-by: Dedy Lansky <qca_dlansky(a)qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez(a)qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo(a)qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/wireless/ath/wil6210/main.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
--- a/drivers/net/wireless/ath/wil6210/main.c
+++ b/drivers/net/wireless/ath/wil6210/main.c
@@ -129,9 +129,15 @@ void wil_memcpy_fromio_32(void *dst, con
u32 *d = dst;
const volatile u32 __iomem *s = src;
- /* size_t is unsigned, if (count%4 != 0) it will wrap */
- for (count += 4; count > 4; count -= 4)
+ for (; count >= 4; count -= 4)
*d++ = __raw_readl(s++);
+
+ if (unlikely(count)) {
+ /* count can be 1..3 */
+ u32 tmp = __raw_readl(s);
+
+ memcpy(d, &tmp, count);
+ }
}
void wil_memcpy_fromio_halp_vote(struct wil6210_priv *wil, void *dst,
@@ -148,8 +154,16 @@ void wil_memcpy_toio_32(volatile void __
volatile u32 __iomem *d = dst;
const u32 *s = src;
- for (count += 4; count > 4; count -= 4)
+ for (; count >= 4; count -= 4)
__raw_writel(*s++, d++);
+
+ if (unlikely(count)) {
+ /* count can be 1..3 */
+ u32 tmp = 0;
+
+ memcpy(&tmp, s, count);
+ __raw_writel(tmp, d);
+ }
}
void wil_memcpy_toio_halp_vote(struct wil6210_priv *wil,
Patches currently in stable-queue which might be from qca_dlansky(a)qca.qualcomm.com are
queue-4.9/wil6210-fix-memory-access-violation-in-wil_memcpy_from-toio_32.patch
This is a note to let you know that I've just added the patch titled
vxlan: vxlan dev should inherit lowerdev's gso_max_size
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
vxlan-vxlan-dev-should-inherit-lowerdev-s-gso_max_size.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Felix Manlunas <felix.manlunas(a)cavium.com>
Date: Wed, 29 Mar 2017 17:56:43 -0700
Subject: vxlan: vxlan dev should inherit lowerdev's gso_max_size
From: Felix Manlunas <felix.manlunas(a)cavium.com>
[ Upstream commit d6acfeb17d030bb3907e77c048b0e7783ad8e5a9 ]
vxlan dev currently ignores lowerdev's gso_max_size, which adversely
affects TSO performance of liquidio if it's the lowerdev. Egress TCP
packets' skb->len often exceed liquidio's advertised gso_max_size. This
may happen on other NIC drivers.
Fix it by assigning lowerdev's gso_max_size to that of vxlan dev. Might as
well do likewise for gso_max_segs.
Single flow TSO throughput of liquidio as lowerdev (using iperf3):
Before the patch: 139 Mbps
After the patch : 8.68 Gbps
Percent increase: 6,144 %
Signed-off-by: Felix Manlunas <felix.manlunas(a)cavium.com>
Signed-off-by: Satanand Burla <satananda.burla(a)cavium.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/vxlan.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -2912,6 +2912,11 @@ static int vxlan_dev_configure(struct ne
return -EINVAL;
}
+ if (lowerdev) {
+ dev->gso_max_size = lowerdev->gso_max_size;
+ dev->gso_max_segs = lowerdev->gso_max_segs;
+ }
+
if (conf->mtu) {
err = __vxlan_change_mtu(dev, lowerdev, dst, conf->mtu, false);
if (err)
Patches currently in stable-queue which might be from felix.manlunas(a)cavium.com are
queue-4.9/vxlan-vxlan-dev-should-inherit-lowerdev-s-gso_max_size.patch
This is a note to let you know that I've just added the patch titled
video/hdmi: Allow "empty" HDMI infoframes
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
video-hdmi-allow-empty-hdmi-infoframes.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Ville Syrjälä" <ville.syrjala(a)linux.intel.com>
Date: Mon, 13 Nov 2017 19:04:18 +0200
Subject: video/hdmi: Allow "empty" HDMI infoframes
From: "Ville Syrjälä" <ville.syrjala(a)linux.intel.com>
[ Upstream commit 593f4b19a094c4426bd1e1e3cbab87a48bd13c71 ]
HDMI 2.0 Appendix F suggest that we should keep sending the infoframe
when switching from 3D to 2D mode, even if the infoframe isn't strictly
necessary (ie. not needed to transmit the VIC or stereo information).
This is a workaround against some sinks that fail to realize that they
should switch from 3D to 2D mode when the source stop transmitting
the infoframe.
v2: Handle unpack() as well
Pull the length calculation into a helper
Cc: Shashank Sharma <shashank.sharma(a)intel.com>
Cc: Andrzej Hajda <a.hajda(a)samsung.com>
Cc: Thierry Reding <thierry.reding(a)gmail.com>
Cc: Hans Verkuil <hans.verkuil(a)cisco.com>
Cc: linux-media(a)vger.kernel.org
Reviewed-by: Andrzej Hajda <a.hajda(a)samsung.com> #v1
Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171113170427.4150-2-ville.s…
Reviewed-by: Shashank Sharma <shashank.sharma(a)intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/video/hdmi.c | 51 +++++++++++++++++++++++++++++++--------------------
1 file changed, 31 insertions(+), 20 deletions(-)
--- a/drivers/video/hdmi.c
+++ b/drivers/video/hdmi.c
@@ -321,6 +321,17 @@ int hdmi_vendor_infoframe_init(struct hd
}
EXPORT_SYMBOL(hdmi_vendor_infoframe_init);
+static int hdmi_vendor_infoframe_length(const struct hdmi_vendor_infoframe *frame)
+{
+ /* for side by side (half) we also need to provide 3D_Ext_Data */
+ if (frame->s3d_struct >= HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF)
+ return 6;
+ else if (frame->vic != 0 || frame->s3d_struct != HDMI_3D_STRUCTURE_INVALID)
+ return 5;
+ else
+ return 4;
+}
+
/**
* hdmi_vendor_infoframe_pack() - write a HDMI vendor infoframe to binary buffer
* @frame: HDMI infoframe
@@ -341,19 +352,11 @@ ssize_t hdmi_vendor_infoframe_pack(struc
u8 *ptr = buffer;
size_t length;
- /* empty info frame */
- if (frame->vic == 0 && frame->s3d_struct == HDMI_3D_STRUCTURE_INVALID)
- return -EINVAL;
-
/* only one of those can be supplied */
if (frame->vic != 0 && frame->s3d_struct != HDMI_3D_STRUCTURE_INVALID)
return -EINVAL;
- /* for side by side (half) we also need to provide 3D_Ext_Data */
- if (frame->s3d_struct >= HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF)
- frame->length = 6;
- else
- frame->length = 5;
+ frame->length = hdmi_vendor_infoframe_length(frame);
length = HDMI_INFOFRAME_HEADER_SIZE + frame->length;
@@ -372,14 +375,16 @@ ssize_t hdmi_vendor_infoframe_pack(struc
ptr[5] = 0x0c;
ptr[6] = 0x00;
- if (frame->vic) {
- ptr[7] = 0x1 << 5; /* video format */
- ptr[8] = frame->vic;
- } else {
+ if (frame->s3d_struct != HDMI_3D_STRUCTURE_INVALID) {
ptr[7] = 0x2 << 5; /* video format */
ptr[8] = (frame->s3d_struct & 0xf) << 4;
if (frame->s3d_struct >= HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF)
ptr[9] = (frame->s3d_ext_data & 0xf) << 4;
+ } else if (frame->vic) {
+ ptr[7] = 0x1 << 5; /* video format */
+ ptr[8] = frame->vic;
+ } else {
+ ptr[7] = 0x0 << 5; /* video format */
}
hdmi_infoframe_set_checksum(buffer, length);
@@ -1161,7 +1166,7 @@ hdmi_vendor_any_infoframe_unpack(union h
if (ptr[0] != HDMI_INFOFRAME_TYPE_VENDOR ||
ptr[1] != 1 ||
- (ptr[2] != 5 && ptr[2] != 6))
+ (ptr[2] != 4 && ptr[2] != 5 && ptr[2] != 6))
return -EINVAL;
length = ptr[2];
@@ -1189,16 +1194,22 @@ hdmi_vendor_any_infoframe_unpack(union h
hvf->length = length;
- if (hdmi_video_format == 0x1) {
- hvf->vic = ptr[4];
- } else if (hdmi_video_format == 0x2) {
+ if (hdmi_video_format == 0x2) {
+ if (length != 5 && length != 6)
+ return -EINVAL;
hvf->s3d_struct = ptr[4] >> 4;
if (hvf->s3d_struct >= HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF) {
- if (length == 6)
- hvf->s3d_ext_data = ptr[5] >> 4;
- else
+ if (length != 6)
return -EINVAL;
+ hvf->s3d_ext_data = ptr[5] >> 4;
}
+ } else if (hdmi_video_format == 0x1) {
+ if (length != 5)
+ return -EINVAL;
+ hvf->vic = ptr[4];
+ } else {
+ if (length != 4)
+ return -EINVAL;
}
return 0;
Patches currently in stable-queue which might be from ville.syrjala(a)linux.intel.com are
queue-4.9/drm-defer-disabling-the-vblank-irq-until-the-next-interrupt-for-instant-off.patch
queue-4.9/video-hdmi-allow-empty-hdmi-infoframes.patch
queue-4.9/drm-edid-set-eld-connector-type-in-drm_edid_to_eld.patch
This is a note to let you know that I've just added the patch titled
video: ARM CLCD: fix dma allocation size
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
video-arm-clcd-fix-dma-allocation-size.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Liam Beguin <lbeguin(a)tycoint.com>
Date: Fri, 7 Apr 2017 17:03:24 +0200
Subject: video: ARM CLCD: fix dma allocation size
From: Liam Beguin <lbeguin(a)tycoint.com>
[ Upstream commit 9a1c779e6b06855e41099caa6f15b3b584dfa88c ]
This patch forces the frambuffer size to be aligned on kernel pages.
During the board startup, the splash screed did appear;
the "ts_test" program or our application were not able to start.
The following error message was reported:
error: failed to map framebuffer device to memory.
LinuxFB: driver cannot connect
The issue was discovered, on the LPC32xx platform, during the migration
of the LCD definition from the board file to the device tree.
Signed-off-by: Liam Beguin <lbeguin(a)tycoint.com>
Signed-off-by: Sylvain Lemieux <slemieux(a)tycoint.com>
Cc: Vladimir Zapolskiy <vz(a)mleia.com>
Cc: Russell King <linux(a)armlinux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie(a)samsung.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/video/fbdev/amba-clcd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/video/fbdev/amba-clcd.c
+++ b/drivers/video/fbdev/amba-clcd.c
@@ -892,8 +892,8 @@ static int clcdfb_of_dma_setup(struct cl
if (err)
return err;
- framesize = fb->panel->mode.xres * fb->panel->mode.yres *
- fb->panel->bpp / 8;
+ framesize = PAGE_ALIGN(fb->panel->mode.xres * fb->panel->mode.yres *
+ fb->panel->bpp / 8);
fb->fb.screen_base = dma_alloc_coherent(&fb->dev->dev, framesize,
&dma, GFP_KERNEL);
if (!fb->fb.screen_base)
Patches currently in stable-queue which might be from lbeguin(a)tycoint.com are
queue-4.9/video-arm-clcd-fix-dma-allocation-size.patch
This is a note to let you know that I've just added the patch titled
vfio/spapr_tce: Check kzalloc() return when preregistering memory
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
vfio-spapr_tce-check-kzalloc-return-when-preregistering-memory.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Alexey Kardashevskiy <aik(a)ozlabs.ru>
Date: Mon, 27 Mar 2017 14:23:40 +1100
Subject: vfio/spapr_tce: Check kzalloc() return when preregistering memory
From: Alexey Kardashevskiy <aik(a)ozlabs.ru>
[ Upstream commit 3393af24b665cb0aea7353b05e522b03ab1e7d73 ]
This adds missing checking for kzalloc() return value.
Fixes: 4b6fad7097f8 ("powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown")
Signed-off-by: Alexey Kardashevskiy <aik(a)ozlabs.ru>
Reviewed-by: David Gibson <david(a)gibson.dropbear.id.au>
Signed-off-by: Alex Williamson <alex.williamson(a)redhat.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/vfio/vfio_iommu_spapr_tce.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/vfio/vfio_iommu_spapr_tce.c
+++ b/drivers/vfio/vfio_iommu_spapr_tce.c
@@ -195,6 +195,11 @@ static long tce_iommu_register_pages(str
return ret;
tcemem = kzalloc(sizeof(*tcemem), GFP_KERNEL);
+ if (!tcemem) {
+ mm_iommu_put(container->mm, mem);
+ return -ENOMEM;
+ }
+
tcemem->mem = mem;
list_add(&tcemem->next, &container->prereg_list);
Patches currently in stable-queue which might be from aik(a)ozlabs.ru are
queue-4.9/vfio-spapr_tce-check-kzalloc-return-when-preregistering-memory.patch
queue-4.9/vfio-powerpc-spapr_tce-enforce-iommu-type-compatibility-check.patch
This is a note to let you know that I've just added the patch titled
vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
vfio-powerpc-spapr_tce-enforce-iommu-type-compatibility-check.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Alexey Kardashevskiy <aik(a)ozlabs.ru>
Date: Fri, 24 Mar 2017 17:44:06 +1100
Subject: vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check
From: Alexey Kardashevskiy <aik(a)ozlabs.ru>
[ Upstream commit 1282ba7fc28dbc66c3f0e4aaafaaa228361d1ae5 ]
The existing SPAPR TCE driver advertises both VFIO_SPAPR_TCE_IOMMU and
VFIO_SPAPR_TCE_v2_IOMMU types to the userspace and the userspace usually
picks the v2.
Normally the userspace would create a container, attach an IOMMU group
to it and only then set the IOMMU type (which would normally be v2).
However a specific IOMMU group may not support v2, in other words
it may not implement set_window/unset_window/take_ownership/
release_ownership and such a group should not be attached to
a v2 container.
This adds extra checks that a new group can do what the selected IOMMU
type suggests. The userspace can then test the return value from
ioctl(VFIO_SET_IOMMU, VFIO_SPAPR_TCE_v2_IOMMU) and try
VFIO_SPAPR_TCE_IOMMU.
Signed-off-by: Alexey Kardashevskiy <aik(a)ozlabs.ru>
Signed-off-by: Alex Williamson <alex.williamson(a)redhat.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/vfio/vfio_iommu_spapr_tce.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/drivers/vfio/vfio_iommu_spapr_tce.c
+++ b/drivers/vfio/vfio_iommu_spapr_tce.c
@@ -1332,8 +1332,16 @@ static int tce_iommu_attach_group(void *
if (!table_group->ops || !table_group->ops->take_ownership ||
!table_group->ops->release_ownership) {
+ if (container->v2) {
+ ret = -EPERM;
+ goto unlock_exit;
+ }
ret = tce_iommu_take_ownership(container, table_group);
} else {
+ if (!container->v2) {
+ ret = -EPERM;
+ goto unlock_exit;
+ }
ret = tce_iommu_take_ownership_ddw(container, table_group);
if (!tce_groups_attached(container) && !container->tables[0])
container->def_window_pending = true;
Patches currently in stable-queue which might be from aik(a)ozlabs.ru are
queue-4.9/vfio-spapr_tce-check-kzalloc-return-when-preregistering-memory.patch
queue-4.9/vfio-powerpc-spapr_tce-enforce-iommu-type-compatibility-check.patch
This is a note to let you know that I've just added the patch titled
veth: set peer GSO values
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
veth-set-peer-gso-values.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Stephen Hemminger <stephen(a)networkplumber.org>
Date: Thu, 7 Dec 2017 15:40:20 -0800
Subject: veth: set peer GSO values
From: Stephen Hemminger <stephen(a)networkplumber.org>
[ Upstream commit 72d24955b44a4039db54a1c252b5031969eeaac3 ]
When new veth is created, and GSO values have been configured
on one device, clone those values to the peer.
For example:
# ip link add dev vm1 gso_max_size 65530 type veth peer name vm2
This should create vm1 <--> vm2 with both having GSO maximum
size set to 65530.
Signed-off-by: Stephen Hemminger <sthemmin(a)microsoft.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/veth.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -425,6 +425,9 @@ static int veth_newlink(struct net *src_
if (ifmp && (dev->ifindex != 0))
peer->ifindex = ifmp->ifi_index;
+ peer->gso_max_size = dev->gso_max_size;
+ peer->gso_max_segs = dev->gso_max_segs;
+
err = register_netdevice(peer);
put_net(net);
net = NULL;
Patches currently in stable-queue which might be from stephen(a)networkplumber.org are
queue-4.9/veth-set-peer-gso-values.patch
queue-4.9/netem-apply-correct-delay-when-rate-throttling.patch
This is a note to let you know that I've just added the patch titled
[media] v4l: vsp1: Register pipe with output WPF
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
v4l-vsp1-register-pipe-with-output-wpf.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
Date: Mon, 27 Feb 2017 10:40:34 -0300
Subject: [media] v4l: vsp1: Register pipe with output WPF
From: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
[ Upstream commit 1531a208ed861e4bd287444f9466ffcf98383de2 ]
The DRM object does not register the pipe with the WPF object. This is
used internally throughout the driver as a means of accessing the pipe.
As such this breaks operations which require access to the pipe from WPF
interrupts.
Register the pipe inside the WPF object after it has been declared as
the output.
Fixes: ff7e97c94d9f ("[media] v4l: vsp1: Store pipeline pointer in rwpf")
Signed-off-by: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas(a)ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas(a)ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab(a)s-opensource.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/media/platform/vsp1/vsp1_drm.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -596,6 +596,7 @@ int vsp1_drm_init(struct vsp1_device *vs
pipe->bru = &vsp1->bru->entity;
pipe->lif = &vsp1->lif->entity;
pipe->output = vsp1->wpf[0];
+ pipe->output->pipe = pipe;
return 0;
}
Patches currently in stable-queue which might be from kieran.bingham+renesas(a)ideasonboard.com are
queue-4.9/v4l-vsp1-prevent-multiple-streamon-race-commencing-pipeline-early.patch
queue-4.9/v4l-vsp1-register-pipe-with-output-wpf.patch
queue-4.9/media-vsp1-prevent-suspending-and-resuming-drm-pipelines.patch
This is a note to let you know that I've just added the patch titled
[media] v4l: vsp1: Prevent multiple streamon race commencing pipeline early
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
v4l-vsp1-prevent-multiple-streamon-race-commencing-pipeline-early.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
Date: Fri, 6 Jan 2017 10:15:28 -0200
Subject: [media] v4l: vsp1: Prevent multiple streamon race commencing pipeline early
From: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
[ Upstream commit 4461c84b52b4a952c657505ef7e4e06b016783df ]
With multiple inputs through the BRU it is feasible for the streams to
race each other at stream-on.
Multiple VIDIOC_STREAMON calls racing each other could have process
N-1 skipping over the pipeline setup section and then start the pipeline
early, if videobuf2 has already enqueued buffers to the driver for
process N but not called the .start_streaming() operation yet
In the case of the video pipelines, this
can present two serious issues.
1) A null-dereference if the pipe->dl is committed at the same time as
the vsp1_video_setup_pipeline() is processing
2) A hardware hang, where a display list is committed without having
called vsp1_video_setup_pipeline() first
Repair this issue, by ensuring that only the stream which configures the
pipeline is able to start it.
Signed-off-by: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas(a)ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab(a)s-opensource.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/media/platform/vsp1/vsp1_video.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -792,6 +792,7 @@ static int vsp1_video_start_streaming(st
{
struct vsp1_video *video = vb2_get_drv_priv(vq);
struct vsp1_pipeline *pipe = video->rwpf->pipe;
+ bool start_pipeline = false;
unsigned long flags;
int ret;
@@ -802,11 +803,23 @@ static int vsp1_video_start_streaming(st
mutex_unlock(&pipe->lock);
return ret;
}
+
+ start_pipeline = true;
}
pipe->stream_count++;
mutex_unlock(&pipe->lock);
+ /*
+ * vsp1_pipeline_ready() is not sufficient to establish that all streams
+ * are prepared and the pipeline is configured, as multiple streams
+ * can race through streamon with buffers already queued; Therefore we
+ * don't even attempt to start the pipeline until the last stream has
+ * called through here.
+ */
+ if (!start_pipeline)
+ return 0;
+
spin_lock_irqsave(&pipe->irqlock, flags);
if (vsp1_pipeline_ready(pipe))
vsp1_video_pipeline_run(pipe);
Patches currently in stable-queue which might be from kieran.bingham+renesas(a)ideasonboard.com are
queue-4.9/v4l-vsp1-prevent-multiple-streamon-race-commencing-pipeline-early.patch
queue-4.9/v4l-vsp1-register-pipe-with-output-wpf.patch
queue-4.9/media-vsp1-prevent-suspending-and-resuming-drm-pipelines.patch
This is a note to let you know that I've just added the patch titled
userns: Don't fail follow_automount based on s_user_ns
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
userns-don-t-fail-follow_automount-based-on-s_user_ns.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
Date: Wed, 29 Nov 2017 17:29:20 -0600
Subject: userns: Don't fail follow_automount based on s_user_ns
From: "Eric W. Biederman" <ebiederm(a)xmission.com>
[ Upstream commit bbc3e471011417598e598707486f5d8814ec9c01 ]
When vfs_submount was added the test to limit automounts from
filesystems that with s_user_ns != &init_user_ns accidentially left
in follow_automount. The test was never about any security concerns
and was always about how do we implement this for filesystems whose
s_user_ns != &init_user_ns.
At the moment this check makes no difference as there are no
filesystems that both set FS_USERNS_MOUNT and implement d_automount.
Remove this check now while I am thinking about it so there will not
be odd booby traps for someone who does want to make this combination
work.
vfs_submount still needs improvements to allow this combination to work,
and vfs_submount contains a check that presents a warning.
The autofs4 filesystem could be modified to set FS_USERNS_MOUNT and it would
need not work on this code path, as userspace performs the mounts.
Fixes: 93faccbbfa95 ("fs: Better permission checking for submounts")
Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds")
Acked-by: Ian Kent <raven(a)themaw.net>
Signed-off-by: "Eric W. Biederman" <ebiederm(a)xmission.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
fs/namei.c | 3 ---
1 file changed, 3 deletions(-)
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1121,9 +1121,6 @@ static int follow_automount(struct path
path->dentry->d_inode)
return -EISDIR;
- if (path->dentry->d_sb->s_user_ns != &init_user_ns)
- return -EACCES;
-
nd->total_link_count++;
if (nd->total_link_count >= 40)
return -ELOOP;
Patches currently in stable-queue which might be from ebiederm(a)xmission.com are
queue-4.9/userns-don-t-fail-follow_automount-based-on-s_user_ns.patch
This is a note to let you know that I've just added the patch titled
usb: misc: lvs: fix race condition in disconnect handling
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
usb-misc-lvs-fix-race-condition-in-disconnect-handling.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Oliver Neukum <oneukum(a)suse.com>
Date: Tue, 14 Mar 2017 12:05:07 +0100
Subject: usb: misc: lvs: fix race condition in disconnect handling
From: Oliver Neukum <oneukum(a)suse.com>
[ Upstream commit c4ba329cabca7c839ab48fb58b5bcc2582951a48 ]
There is a small window during which the an URB may
remain active after disconnect has returned. If in that case
already freed memory may be accessed and executed.
The fix is to poison the URB befotre the work is flushed.
Signed-off-by: Oliver Neukum <oneukum(a)suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/misc/lvstest.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/usb/misc/lvstest.c
+++ b/drivers/usb/misc/lvstest.c
@@ -433,6 +433,7 @@ static void lvs_rh_disconnect(struct usb
struct lvs_rh *lvs = usb_get_intfdata(intf);
sysfs_remove_group(&intf->dev.kobj, &lvs_attr_group);
+ usb_poison_urb(lvs->urb); /* used in scheduled work */
flush_work(&lvs->rh_work);
usb_free_urb(lvs->urb);
}
Patches currently in stable-queue which might be from oneukum(a)suse.com are
queue-4.9/usb-misc-lvs-fix-race-condition-in-disconnect-handling.patch
This is a note to let you know that I've just added the patch titled
usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control()
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
usb-gadget-dummy_hcd-fix-wrong-power-status-bit-clear-reset-in-dummy_hub_control.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Yuyang Du <yuyang.du(a)intel.com>
Date: Fri, 24 Mar 2017 04:06:11 +0800
Subject: usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control()
From: Yuyang Du <yuyang.du(a)intel.com>
[ Upstream commit 9f20dfb44d03745d0d3cef2ffb3abf8d8024fa61 ]
This fixes the commit: 1cd8fd2887e1 ("usb: gadget: dummy_hcd: add
SuperSpeed support").
In the case of ClearPortFeature and USB_PORT_FEAT_POWER, simply clear
the right bit regardless of what the wValue is.
Acked-by: Alan Stern <stern(a)rowland.harvard.edu>
Signed-off-by: Yuyang Du <yuyang.du(a)intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/gadget/udc/dummy_hcd.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
@@ -2103,16 +2103,13 @@ static int dummy_hub_control(
}
break;
case USB_PORT_FEAT_POWER:
- if (hcd->speed == HCD_USB3) {
- if (dum_hcd->port_status & USB_PORT_STAT_POWER)
- dev_dbg(dummy_dev(dum_hcd),
- "power-off\n");
- } else
- if (dum_hcd->port_status &
- USB_SS_PORT_STAT_POWER)
- dev_dbg(dummy_dev(dum_hcd),
- "power-off\n");
- /* FALLS THROUGH */
+ dev_dbg(dummy_dev(dum_hcd), "power-off\n");
+ if (hcd->speed == HCD_USB3)
+ dum_hcd->port_status &= ~USB_SS_PORT_STAT_POWER;
+ else
+ dum_hcd->port_status &= ~USB_PORT_STAT_POWER;
+ set_link_state(dum_hcd);
+ break;
default:
dum_hcd->port_status &= ~(1 << wValue);
set_link_state(dum_hcd);
@@ -2283,14 +2280,13 @@ static int dummy_hub_control(
if ((dum_hcd->port_status &
USB_SS_PORT_STAT_POWER) != 0) {
dum_hcd->port_status |= (1 << wValue);
- set_link_state(dum_hcd);
}
} else
if ((dum_hcd->port_status &
USB_PORT_STAT_POWER) != 0) {
dum_hcd->port_status |= (1 << wValue);
- set_link_state(dum_hcd);
}
+ set_link_state(dum_hcd);
}
break;
case GetPortErrorCount:
Patches currently in stable-queue which might be from yuyang.du(a)intel.com are
queue-4.9/usb-gadget-dummy_hcd-fix-wrong-power-status-bit-clear-reset-in-dummy_hub_control.patch
This is a note to let you know that I've just added the patch titled
usb: dwc3: make sure UX_EXIT_PX is cleared
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
usb-dwc3-make-sure-ux_exit_px-is-cleared.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Date: Wed, 3 Aug 2016 14:16:15 +0300
Subject: usb: dwc3: make sure UX_EXIT_PX is cleared
From: Felipe Balbi <felipe.balbi(a)linux.intel.com>
[ Upstream commit 1966b8657d058ecb95031809b607bf3fd1e01c10 ]
This bit is only supposed to be used with known
buggy PHYs, however some platforms might erroneously
set it. In order to avoid it, let's make sure this
bit is always cleared. If some PHY needs this, we
will need to add a quirk flag.
Signed-off-by: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/dwc3/core.c | 6 ++++++
drivers/usb/dwc3/core.h | 1 +
2 files changed, 7 insertions(+)
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -464,6 +464,12 @@ static int dwc3_phy_setup(struct dwc3 *d
reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
/*
+ * Make sure UX_EXIT_PX is cleared as that causes issues with some
+ * PHYs. Also, this bit is not supposed to be used in normal operation.
+ */
+ reg &= ~DWC3_GUSB3PIPECTL_UX_EXIT_PX;
+
+ /*
* Above 1.94a, it is recommended to set DWC3_GUSB3PIPECTL_SUSPHY
* to '0' during coreConsultant configuration. So default value
* will be '0' when the core is reset. Application needs to set it
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -223,6 +223,7 @@
#define DWC3_GUSB3PIPECTL_PHYSOFTRST (1 << 31)
#define DWC3_GUSB3PIPECTL_U2SSINP3OK (1 << 29)
#define DWC3_GUSB3PIPECTL_DISRXDETINP3 (1 << 28)
+#define DWC3_GUSB3PIPECTL_UX_EXIT_PX (1 << 27)
#define DWC3_GUSB3PIPECTL_REQP1P2P3 (1 << 24)
#define DWC3_GUSB3PIPECTL_DEP1P2P3(n) ((n) << 19)
#define DWC3_GUSB3PIPECTL_DEP1P2P3_MASK DWC3_GUSB3PIPECTL_DEP1P2P3(7)
Patches currently in stable-queue which might be from felipe.balbi(a)linux.intel.com are
queue-4.9/usb-dwc2-make-sure-we-disconnect-the-gadget-state.patch
queue-4.9/usb-gadget-dummy_hcd-fix-wrong-power-status-bit-clear-reset-in-dummy_hub_control.patch
queue-4.9/usb-dwc3-make-sure-ux_exit_px-is-cleared.patch
This is a note to let you know that I've just added the patch titled
usb: dwc2: Make sure we disconnect the gadget state
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
usb-dwc2-make-sure-we-disconnect-the-gadget-state.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: John Stultz <john.stultz(a)linaro.org>
Date: Mon, 13 Feb 2017 20:08:08 -0800
Subject: usb: dwc2: Make sure we disconnect the gadget state
From: John Stultz <john.stultz(a)linaro.org>
[ Upstream commit dad3f793f20fbb5c0c342f0f5a0bdf69a4d76089 ]
I had seen some odd behavior with HiKey's usb-gadget interface
that I finally seemed to have chased down. Basically every other
time I plugged in the OTG port, the gadget interface would
properly initialize. The other times, I'd get a big WARN_ON
in dwc2_hsotg_init_fifo() about the fifo_map not being clear.
Ends up if we don't disconnect the gadget state, the fifo-map
doesn't get cleared properly, which causes WARN_ON messages and
also results in the device not properly being setup as a gadget
every other time the OTG port is connected.
So this patch adds a call to dwc2_hsotg_disconnect() in the
reset path so the state is properly cleared.
With it, the gadget interface initializes properly on every
plug in.
Cc: Wei Xu <xuwei5(a)hisilicon.com>
Cc: Guodong Xu <guodong.xu(a)linaro.org>
Cc: Amit Pundir <amit.pundir(a)linaro.org>
Cc: Rob Herring <robh+dt(a)kernel.org>
Cc: John Youn <johnyoun(a)synopsys.com>
Cc: Douglas Anderson <dianders(a)chromium.org>
Cc: Chen Yu <chenyu56(a)huawei.com>
Cc: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: linux-usb(a)vger.kernel.org
Acked-by: John Youn <johnyoun(a)synopsys.com>
Signed-off-by: John Stultz <john.stultz(a)linaro.org>
Signed-off-by: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/dwc2/hcd.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -3220,6 +3220,7 @@ static void dwc2_conn_id_status_change(s
dwc2_core_init(hsotg, false);
dwc2_enable_global_interrupts(hsotg);
spin_lock_irqsave(&hsotg->lock, flags);
+ dwc2_hsotg_disconnect(hsotg);
dwc2_hsotg_core_init_disconnected(hsotg, false);
spin_unlock_irqrestore(&hsotg->lock, flags);
dwc2_hsotg_core_connect(hsotg);
Patches currently in stable-queue which might be from john.stultz(a)linaro.org are
queue-4.9/usb-dwc2-make-sure-we-disconnect-the-gadget-state.patch
queue-4.9/sysrq-reset-the-watchdog-timers-while-displaying-high-resolution-timers.patch
queue-4.9/timers-sched_clock-update-timeout-for-clock-wrap.patch
This is a note to let you know that I've just added the patch titled
tty: amba-pl011: Fix spurious TX interrupts
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
tty-amba-pl011-fix-spurious-tx-interrupts.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Jayachandran C <jnair(a)caviumnetworks.com>
Date: Sat, 1 Apr 2017 19:42:09 +0000
Subject: tty: amba-pl011: Fix spurious TX interrupts
From: Jayachandran C <jnair(a)caviumnetworks.com>
[ Upstream commit 7d05587c9e0e4611650bb403812e2d492c178a9f ]
On SMP systems, we see a lot of spurious TX interrupts when a
program generates a steady stream of output to the pl011 UART.
The problem can be easily seen when one CPU generates the output
while another CPU handles the pl011 interrupts, and the rate of
output is low enough not to fill the TX FIFO. The problem seems
to be:
-- CPU a -- -- CPU b --
(take port lock)
pl011_start_tx
pl011_start_tx_pio
enable TXIM in REG_IMSC -> causes uart tx intr (pl011_int)
pl011_tx_chars pl011_int
...tx chars, all done... (wait for port lock)
pl011_stop_tx .
disable TXIM .
(release port lock) -> (take port lock)
check for TXIM, not enabled
(release port lock)
return IRQ_NONE
Enabling the TXIM in pl011_start_tx_pio() causes the interrupt
to be generated and delivered to CPU b, even though pl011_tx_chars()
is able to complete the TX and then disable the tx interrupt.
Fix this by enabling TXIM only after pl011_tx_chars, if it is needed.
pl011_tx_chars will return a boolean indicating whether the TX
interrupts have to be enabled.
Debugged-by: Vijaya Kumar <Vijaya.Kumar(a)cavium.com>
Signed-off-by: Jayachandran C <jnair(a)caviumnetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/serial/amba-pl011.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1302,14 +1302,15 @@ static void pl011_stop_tx(struct uart_po
pl011_dma_tx_stop(uap);
}
-static void pl011_tx_chars(struct uart_amba_port *uap, bool from_irq);
+static bool pl011_tx_chars(struct uart_amba_port *uap, bool from_irq);
/* Start TX with programmed I/O only (no DMA) */
static void pl011_start_tx_pio(struct uart_amba_port *uap)
{
- uap->im |= UART011_TXIM;
- pl011_write(uap->im, uap, REG_IMSC);
- pl011_tx_chars(uap, false);
+ if (pl011_tx_chars(uap, false)) {
+ uap->im |= UART011_TXIM;
+ pl011_write(uap->im, uap, REG_IMSC);
+ }
}
static void pl011_start_tx(struct uart_port *port)
@@ -1389,25 +1390,26 @@ static bool pl011_tx_char(struct uart_am
return true;
}
-static void pl011_tx_chars(struct uart_amba_port *uap, bool from_irq)
+/* Returns true if tx interrupts have to be (kept) enabled */
+static bool pl011_tx_chars(struct uart_amba_port *uap, bool from_irq)
{
struct circ_buf *xmit = &uap->port.state->xmit;
int count = uap->fifosize >> 1;
if (uap->port.x_char) {
if (!pl011_tx_char(uap, uap->port.x_char, from_irq))
- return;
+ return true;
uap->port.x_char = 0;
--count;
}
if (uart_circ_empty(xmit) || uart_tx_stopped(&uap->port)) {
pl011_stop_tx(&uap->port);
- return;
+ return false;
}
/* If we are using DMA mode, try to send some characters. */
if (pl011_dma_tx_irq(uap))
- return;
+ return true;
do {
if (likely(from_irq) && count-- == 0)
@@ -1422,8 +1424,11 @@ static void pl011_tx_chars(struct uart_a
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
uart_write_wakeup(&uap->port);
- if (uart_circ_empty(xmit))
+ if (uart_circ_empty(xmit)) {
pl011_stop_tx(&uap->port);
+ return false;
+ }
+ return true;
}
static void pl011_modem_status(struct uart_amba_port *uap)
Patches currently in stable-queue which might be from jnair(a)caviumnetworks.com are
queue-4.9/tty-amba-pl011-fix-spurious-tx-interrupts.patch
This is a note to let you know that I've just added the patch titled
tools/usbip: fixes build with musl libc toolchain
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
tools-usbip-fixes-build-with-musl-libc-toolchain.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Julien BOIBESSOT <julien.boibessot(a)armadeus.com>
Date: Tue, 5 Dec 2017 18:48:14 +0100
Subject: tools/usbip: fixes build with musl libc toolchain
From: Julien BOIBESSOT <julien.boibessot(a)armadeus.com>
[ Upstream commit 77be4c878c72e411ad22af96b6f81dd45c26450a ]
Indeed musl doesn't define old SIGCLD signal name but only new one SIGCHLD.
SIGCHLD is the new POSIX name for that signal so it doesn't change
anything on other libcs.
This fixes this kind of build error:
usbipd.c: In function ‘set_signal’:
usbipd.c:459:12: error: 'SIGCLD' undeclared (first use in this function)
sigaction(SIGCLD, &act, NULL);
^~~~~~
usbipd.c:459:12: note: each undeclared identifier is reported only once
for each function it appears in
Makefile:407: recipe for target 'usbipd.o' failed
make[3]: *** [usbipd.o] Error 1
Signed-off-by: Julien BOIBESSOT <julien.boibessot(a)armadeus.com>
Acked-by: Shuah Khan <shuahkh(a)osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
tools/usb/usbip/src/usbipd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/tools/usb/usbip/src/usbipd.c
+++ b/tools/usb/usbip/src/usbipd.c
@@ -463,7 +463,7 @@ static void set_signal(void)
sigaction(SIGTERM, &act, NULL);
sigaction(SIGINT, &act, NULL);
act.sa_handler = SIG_IGN;
- sigaction(SIGCLD, &act, NULL);
+ sigaction(SIGCHLD, &act, NULL);
}
static const char *pid_file;
Patches currently in stable-queue which might be from julien.boibessot(a)armadeus.com are
queue-4.9/tools-usbip-fixes-build-with-musl-libc-toolchain.patch
This is a note to let you know that I've just added the patch titled
timers, sched_clock: Update timeout for clock wrap
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
timers-sched_clock-update-timeout-for-clock-wrap.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: David Engraf <david.engraf(a)sysgo.com>
Date: Fri, 17 Feb 2017 08:51:03 +0100
Subject: timers, sched_clock: Update timeout for clock wrap
From: David Engraf <david.engraf(a)sysgo.com>
[ Upstream commit 1b8955bc5ac575009835e371ae55e7f3af2197a9 ]
The scheduler clock framework may not use the correct timeout for the clock
wrap. This happens when a new clock driver calls sched_clock_register()
after the kernel called sched_clock_postinit(). In this case the clock wrap
timeout is too long thus sched_clock_poll() is called too late and the clock
already wrapped.
On my ARM system the scheduler was no longer scheduling any other task than
the idle task because the sched_clock() wrapped.
Signed-off-by: David Engraf <david.engraf(a)sysgo.com>
Signed-off-by: John Stultz <john.stultz(a)linaro.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/time/sched_clock.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/kernel/time/sched_clock.c
+++ b/kernel/time/sched_clock.c
@@ -205,6 +205,11 @@ sched_clock_register(u64 (*read)(void),
update_clock_read_data(&rd);
+ if (sched_clock_timer.function != NULL) {
+ /* update timeout for clock wrap */
+ hrtimer_start(&sched_clock_timer, cd.wrap_kt, HRTIMER_MODE_REL);
+ }
+
r = rate;
if (r >= 4000000) {
r /= 1000000;
Patches currently in stable-queue which might be from david.engraf(a)sysgo.com are
queue-4.9/timers-sched_clock-update-timeout-for-clock-wrap.patch
This is a note to let you know that I've just added the patch titled
test_firmware: fix setting old custom fw path back on exit
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
test_firmware-fix-setting-old-custom-fw-path-back-on-exit.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Luis R. Rodriguez" <mcgrof(a)kernel.org>
Date: Mon, 20 Nov 2017 09:45:35 -0800
Subject: test_firmware: fix setting old custom fw path back on exit
From: "Luis R. Rodriguez" <mcgrof(a)kernel.org>
[ Upstream commit 65c79230576873b312c3599479c1e42355c9f349 ]
The file /sys/module/firmware_class/parameters/path can be used
to set a custom firmware path. The fw_filesystem.sh script creates
a temporary directory to add a test firmware file to be used during
testing, in order for this to work it uses the custom path syfs file
and it was supposed to reset back the file on execution exit. The
script failed to do this due to a typo, it was using OLD_PATH instead
of OLD_FWPATH, since its inception since v3.17.
Its not as easy to just keep the old setting, it turns out that
resetting an empty setting won't actually do what we want, we need
to check if it was empty and set an empty space.
Without this we end up having the temporary path always set after
we run these tests.
Fixes: 0a8adf58475 ("test: add firmware_class loader test")
Signed-off-by: Luis R. Rodriguez <mcgrof(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
tools/testing/selftests/firmware/fw_filesystem.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/tools/testing/selftests/firmware/fw_filesystem.sh
+++ b/tools/testing/selftests/firmware/fw_filesystem.sh
@@ -28,7 +28,10 @@ test_finish()
if [ "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then
echo "$OLD_TIMEOUT" >/sys/class/firmware/timeout
fi
- echo -n "$OLD_PATH" >/sys/module/firmware_class/parameters/path
+ if [ "$OLD_FWPATH" = "" ]; then
+ OLD_FWPATH=" "
+ fi
+ echo -n "$OLD_FWPATH" >/sys/module/firmware_class/parameters/path
rm -f "$FW"
rmdir "$FWPATH"
}
Patches currently in stable-queue which might be from mcgrof(a)kernel.org are
queue-4.9/test_firmware-fix-setting-old-custom-fw-path-back-on-exit.patch
This is a note to let you know that I've just added the patch titled
tcp: sysctl: Fix a race to avoid unexpected 0 window from space
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
tcp-sysctl-fix-a-race-to-avoid-unexpected-0-window-from-space.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Gao Feng <fgao(a)ikuai8.com>
Date: Fri, 24 Mar 2017 07:05:12 +0800
Subject: tcp: sysctl: Fix a race to avoid unexpected 0 window from space
From: Gao Feng <fgao(a)ikuai8.com>
[ Upstream commit c48367427a39ea0b85c7cf018fe4256627abfd9e ]
Because sysctl_tcp_adv_win_scale could be changed any time, so there
is one race in tcp_win_from_space.
For example,
1.sysctl_tcp_adv_win_scale<=0 (sysctl_tcp_adv_win_scale is negative now)
2.space>>(-sysctl_tcp_adv_win_scale) (sysctl_tcp_adv_win_scale is postive now)
As a result, tcp_win_from_space returns 0. It is unexpected.
Certainly if the compiler put the sysctl_tcp_adv_win_scale into one
register firstly, then use the register directly, it would be ok.
But we could not depend on the compiler behavior.
Signed-off-by: Gao Feng <fgao(a)ikuai8.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
include/net/tcp.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1265,9 +1265,11 @@ void tcp_select_initial_window(int __spa
static inline int tcp_win_from_space(int space)
{
- return sysctl_tcp_adv_win_scale<=0 ?
- (space>>(-sysctl_tcp_adv_win_scale)) :
- space - (space>>sysctl_tcp_adv_win_scale);
+ int tcp_adv_win_scale = sysctl_tcp_adv_win_scale;
+
+ return tcp_adv_win_scale <= 0 ?
+ (space>>(-tcp_adv_win_scale)) :
+ space - (space>>tcp_adv_win_scale);
}
/* Note: caller must be prepared to deal with negative returns */
Patches currently in stable-queue which might be from fgao(a)ikuai8.com are
queue-4.9/tcp-sysctl-fix-a-race-to-avoid-unexpected-0-window-from-space.patch
This is a note to let you know that I've just added the patch titled
sysrq: Reset the watchdog timers while displaying high-resolution timers
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
sysrq-reset-the-watchdog-timers-while-displaying-high-resolution-timers.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Tom Hromatka <tom.hromatka(a)oracle.com>
Date: Wed, 4 Jan 2017 15:28:04 -0700
Subject: sysrq: Reset the watchdog timers while displaying high-resolution timers
From: Tom Hromatka <tom.hromatka(a)oracle.com>
[ Upstream commit 0107042768658fea9f5f5a9c00b1c90f5dab6a06 ]
On systems with a large number of CPUs, running sysrq-<q> can cause
watchdog timeouts. There are two slow sections of code in the sysrq-<q>
path in timer_list.c.
1. print_active_timers() - This function is called by print_cpu() and
contains a slow goto loop. On a machine with hundreds of CPUs, this
loop took approximately 100ms for the first CPU in a NUMA node.
(Subsequent CPUs in the same node ran much quicker.) The total time
to print all of the CPUs is ultimately long enough to trigger the
soft lockup watchdog.
2. print_tickdevice() - This function outputs a large amount of textual
information. This function also took approximately 100ms per CPU.
Since sysrq-<q> is not a performance critical path, there should be no
harm in touching the nmi watchdog in both slow sections above. Touching
it in just one location was insufficient on systems with hundreds of
CPUs as occasional timeouts were still observed during testing.
This issue was observed on an Oracle T7 machine with 128 CPUs, but I
anticipate it may affect other systems with similarly large numbers of
CPUs.
Signed-off-by: Tom Hromatka <tom.hromatka(a)oracle.com>
Reviewed-by: Rob Gardner <rob.gardner(a)oracle.com>
Signed-off-by: John Stultz <john.stultz(a)linaro.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/time/timer_list.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -16,6 +16,7 @@
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/kallsyms.h>
+#include <linux/nmi.h>
#include <asm/uaccess.h>
@@ -96,6 +97,9 @@ print_active_timers(struct seq_file *m,
next_one:
i = 0;
+
+ touch_nmi_watchdog();
+
raw_spin_lock_irqsave(&base->cpu_base->lock, flags);
curr = timerqueue_getnext(&base->active);
@@ -207,6 +211,8 @@ print_tickdevice(struct seq_file *m, str
{
struct clock_event_device *dev = td->evtdev;
+ touch_nmi_watchdog();
+
SEQ_printf(m, "Tick Device: mode: %d\n", td->mode);
if (cpu < 0)
SEQ_printf(m, "Broadcast device\n");
Patches currently in stable-queue which might be from tom.hromatka(a)oracle.com are
queue-4.9/sysrq-reset-the-watchdog-timers-while-displaying-high-resolution-timers.patch
This is a note to let you know that I've just added the patch titled
staging: wilc1000: add check for kmalloc allocation failure.
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
staging-wilc1000-add-check-for-kmalloc-allocation-failure.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Colin Ian King <colin.king(a)canonical.com>
Date: Tue, 28 Feb 2017 11:47:33 +0000
Subject: staging: wilc1000: add check for kmalloc allocation failure.
From: Colin Ian King <colin.king(a)canonical.com>
[ Upstream commit 6cc0c259d034c6ab48f4e12f505213988e73d380 ]
Add a sanity check that wid.val has been allocated, fixes a null
pointer deference on stamac when calling ether_add_copy.
Detected by CoverityScan, CID#1369537 ("Dereference null return value")
Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/wilc1000/host_interface.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1930,6 +1930,8 @@ static s32 Handle_Get_InActiveTime(struc
wid.type = WID_STR;
wid.size = ETH_ALEN;
wid.val = kmalloc(wid.size, GFP_KERNEL);
+ if (!wid.val)
+ return -ENOMEM;
stamac = wid.val;
memcpy(stamac, strHostIfStaInactiveT->mac, ETH_ALEN);
Patches currently in stable-queue which might be from colin.king(a)canonical.com are
queue-4.9/staging-wilc1000-add-check-for-kmalloc-allocation-failure.patch
This is a note to let you know that I've just added the patch titled
staging: speakup: Replace BUG_ON() with WARN_ON().
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
staging-speakup-replace-bug_on-with-warn_on.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Varsha Rao <rvarsha016(a)gmail.com>
Date: Sat, 25 Feb 2017 17:53:58 +0530
Subject: staging: speakup: Replace BUG_ON() with WARN_ON().
From: Varsha Rao <rvarsha016(a)gmail.com>
[ Upstream commit d351c2db5420bb17dcd2d9aac7ddb5f64c6d04b3 ]
BUG_ON() is replaced with WARN_ON() and EINVAL is returned, when
WARN_ON() is true. This fixes the following checkpatch issue:
Avoid crashing the kernel - try using WARN_ON & recovery code rather
than BUG() or BUG_ON().
Signed-off-by: Varsha Rao <rvarsha016(a)gmail.com>
Reviewed-by: Samuel Thibault <samuel.thibault(a)ens-lyon.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/staging/speakup/kobjects.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--- a/drivers/staging/speakup/kobjects.c
+++ b/drivers/staging/speakup/kobjects.c
@@ -834,7 +834,9 @@ static ssize_t message_show(struct kobje
struct msg_group_t *group = spk_find_msg_group(attr->attr.name);
unsigned long flags;
- BUG_ON(!group);
+ if (WARN_ON(!group))
+ return -EINVAL;
+
spin_lock_irqsave(&speakup_info.spinlock, flags);
retval = message_show_helper(buf, group->start, group->end);
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
@@ -846,7 +848,9 @@ static ssize_t message_store(struct kobj
{
struct msg_group_t *group = spk_find_msg_group(attr->attr.name);
- BUG_ON(!group);
+ if (WARN_ON(!group))
+ return -EINVAL;
+
return message_store_helper(buf, count, group);
}
Patches currently in stable-queue which might be from rvarsha016(a)gmail.com are
queue-4.9/staging-speakup-replace-bug_on-with-warn_on.patch
This is a note to let you know that I've just added the patch titled
spi: sun6i: disable/unprepare clocks on remove
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
spi-sun6i-disable-unprepare-clocks-on-remove.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Tobias Jordan <Tobias.Jordan(a)elektrobit.com>
Date: Thu, 7 Dec 2017 15:04:53 +0100
Subject: spi: sun6i: disable/unprepare clocks on remove
From: Tobias Jordan <Tobias.Jordan(a)elektrobit.com>
[ Upstream commit 2d9bbd02c54094ceffa555143b0d68cd06504d63 ]
sun6i_spi_probe() uses sun6i_spi_runtime_resume() to prepare/enable
clocks, so sun6i_spi_remove() should use sun6i_spi_runtime_suspend() to
disable/unprepare them if we're not suspended.
Replacing pm_runtime_disable() by pm_runtime_force_suspend() will ensure
that sun6i_spi_runtime_suspend() is called if needed.
Found by Linux Driver Verification project (linuxtesting.org).
Fixes: 3558fe900e8af (spi: sunxi: Add Allwinner A31 SPI controller driver)
Signed-off-by: Tobias Jordan <Tobias.Jordan(a)elektrobit.com>
Acked-by: Maxime Ripard <maxime.ripard(a)free-electrons.com>
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/spi/spi-sun6i.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/spi/spi-sun6i.c
+++ b/drivers/spi/spi-sun6i.c
@@ -464,7 +464,7 @@ err_free_master:
static int sun6i_spi_remove(struct platform_device *pdev)
{
- pm_runtime_disable(&pdev->dev);
+ pm_runtime_force_suspend(&pdev->dev);
return 0;
}
Patches currently in stable-queue which might be from Tobias.Jordan(a)elektrobit.com are
queue-4.9/spi-sun6i-disable-unprepare-clocks-on-remove.patch
This is a note to let you know that I've just added the patch titled
spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
spi-omap2-mcspi-poll-omap2_mcspi_chstat_rxs-for-pio-transfer.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Akinobu Mita <akinobu.mita(a)gmail.com>
Date: Wed, 22 Mar 2017 09:18:26 +0900
Subject: spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer
From: Akinobu Mita <akinobu.mita(a)gmail.com>
[ Upstream commit 812613591cb652344186c4cd912304ed02138566 ]
When running the spi-loopback-test with slower clock rate like 10 KHz,
the test for 251 bytes transfer was failed. This failure triggered an
spi-omap2-mcspi's error message "DMA RX last word empty".
This message means that PIO for reading the remaining bytes due to the
DMA transfer length reduction is failed. This problem can be fixed by
polling OMAP2_MCSPI_CHSTAT_RXS bit in channel status register to wait
until the receive buffer register is filled.
Cc: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita(a)gmail.com>
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/spi/spi-omap2-mcspi.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -454,6 +454,8 @@ omap2_mcspi_rx_dma(struct spi_device *sp
int elements = 0;
int word_len, element_count;
struct omap2_mcspi_cs *cs = spi->controller_state;
+ void __iomem *chstat_reg = cs->base + OMAP2_MCSPI_CHSTAT0;
+
mcspi = spi_master_get_devdata(spi->master);
mcspi_dma = &mcspi->dma_channels[spi->chip_select];
count = xfer->len;
@@ -549,8 +551,8 @@ omap2_mcspi_rx_dma(struct spi_device *sp
if (l & OMAP2_MCSPI_CHCONF_TURBO) {
elements--;
- if (likely(mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHSTAT0)
- & OMAP2_MCSPI_CHSTAT_RXS)) {
+ if (!mcspi_wait_for_reg_bit(chstat_reg,
+ OMAP2_MCSPI_CHSTAT_RXS)) {
u32 w;
w = mcspi_read_cs_reg(spi, OMAP2_MCSPI_RX0);
@@ -568,8 +570,7 @@ omap2_mcspi_rx_dma(struct spi_device *sp
return count;
}
}
- if (likely(mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHSTAT0)
- & OMAP2_MCSPI_CHSTAT_RXS)) {
+ if (!mcspi_wait_for_reg_bit(chstat_reg, OMAP2_MCSPI_CHSTAT_RXS)) {
u32 w;
w = mcspi_read_cs_reg(spi, OMAP2_MCSPI_RX0);
Patches currently in stable-queue which might be from akinobu.mita(a)gmail.com are
queue-4.9/spi-omap2-mcspi-poll-omap2_mcspi_chstat_rxs-for-pio-transfer.patch
This is a note to let you know that I've just added the patch titled
soc/tegra: Fix link errors with PMC disabled
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
soc-tegra-fix-link-errors-with-pmc-disabled.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Arnd Bergmann <arnd(a)arndb.de>
Date: Mon, 20 Mar 2017 10:13:06 +0100
Subject: soc/tegra: Fix link errors with PMC disabled
From: Arnd Bergmann <arnd(a)arndb.de>
[ Upstream commit bd737038d555468198495230f4233b9ba92e774c ]
With the new Tegra186 PMC driver merged, anything that relies on the previous
PMC driver fails to link when that is disabled:
arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'
ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!
Making the definition depend on the presence of the driver makes it build
again, though that might not be the correct fix.
Reported-by: Krzysztof Kozlowski <krzk(a)kernel.org>
Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
Signed-off-by: Thierry Reding <treding(a)nvidia.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
include/soc/tegra/pmc.h | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
--- a/include/soc/tegra/pmc.h
+++ b/include/soc/tegra/pmc.h
@@ -26,12 +26,6 @@
struct clk;
struct reset_control;
-#ifdef CONFIG_PM_SLEEP
-enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void);
-void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode);
-void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode);
-#endif /* CONFIG_PM_SLEEP */
-
#ifdef CONFIG_SMP
bool tegra_pmc_cpu_is_powered(unsigned int cpuid);
int tegra_pmc_cpu_power_on(unsigned int cpuid);
@@ -108,7 +102,7 @@ int tegra_pmc_cpu_remove_clamping(unsign
#define TEGRA_IO_RAIL_LVDS 57
#define TEGRA_IO_RAIL_SYS_DDC 58
-#ifdef CONFIG_ARCH_TEGRA
+#ifdef CONFIG_SOC_TEGRA_PMC
int tegra_powergate_is_powered(unsigned int id);
int tegra_powergate_power_on(unsigned int id);
int tegra_powergate_power_off(unsigned int id);
@@ -120,6 +114,11 @@ int tegra_powergate_sequence_power_up(un
int tegra_io_rail_power_on(unsigned int id);
int tegra_io_rail_power_off(unsigned int id);
+
+enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void);
+void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode);
+void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode);
+
#else
static inline int tegra_powergate_is_powered(unsigned int id)
{
@@ -157,6 +156,20 @@ static inline int tegra_io_rail_power_of
{
return -ENOSYS;
}
-#endif /* CONFIG_ARCH_TEGRA */
+
+static inline enum tegra_suspend_mode tegra_pmc_get_suspend_mode(void)
+{
+ return TEGRA_SUSPEND_NONE;
+}
+
+static inline void tegra_pmc_set_suspend_mode(enum tegra_suspend_mode mode)
+{
+}
+
+static inline void tegra_pmc_enter_suspend_mode(enum tegra_suspend_mode mode)
+{
+}
+
+#endif /* CONFIG_SOC_TEGRA_PMC */
#endif /* __SOC_TEGRA_PMC_H__ */
Patches currently in stable-queue which might be from arnd(a)arndb.de are
queue-4.9/lkdtm-turn-off-kcov-for-lkdtm_rodata_do_nothing.patch
queue-4.9/soc-tegra-fix-link-errors-with-pmc-disabled.patch
This is a note to let you know that I've just added the patch titled
serial: imx: setup DCEDTE early and ensure DCD and RI irqs to be off
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
serial-imx-setup-dcedte-early-and-ensure-dcd-and-ri-irqs-to-be-off.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Uwe Kleine-König" <u.kleine-koenig(a)pengutronix.de>
Date: Tue, 4 Apr 2017 11:18:51 +0200
Subject: serial: imx: setup DCEDTE early and ensure DCD and RI irqs to be off
From: "Uwe Kleine-König" <u.kleine-koenig(a)pengutronix.de>
[ Upstream commit e61c38d85b7392e033ee03bca46f1d6006156175 ]
If the UART is operated in DTE mode and UCR3_DCD or UCR3_RI are 1 (which
is the reset default) and the opposite side pulls the respective line to
its active level the irq triggers after it is requested in .probe.
These irqs were already disabled in .startup but this might be too late.
Also setup of the UFCR_DCEDTE bit (currently done in .set_termios) is
done very late which is critical as it also controls direction of some
pins.
So setup UFCR_DCEDTE earlier (in .probe) and also disable the broken
irqs in DTE mode there before requesting irqs.
Acked-by: Lucas Stach <l.stach(a)pengutronix.de>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/serial/imx.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1316,19 +1316,10 @@ static int imx_startup(struct uart_port
if (!is_imx1_uart(sport)) {
temp = readl(sport->port.membase + UCR3);
- /*
- * The effect of RI and DCD differs depending on the UFCR_DCEDTE
- * bit. In DCE mode they control the outputs, in DTE mode they
- * enable the respective irqs. At least the DCD irq cannot be
- * cleared on i.MX25 at least, so it's not usable and must be
- * disabled. I don't have test hardware to check if RI has the
- * same problem but I consider this likely so it's disabled for
- * now, too.
- */
- temp |= IMX21_UCR3_RXDMUXSEL | UCR3_ADNIMP |
- UCR3_DTRDEN | UCR3_RI | UCR3_DCD;
+ temp |= UCR3_DTRDEN | UCR3_RI | UCR3_DCD;
if (sport->dte_mode)
+ /* disable broken interrupts */
temp &= ~(UCR3_RI | UCR3_DCD);
writel(temp, sport->port.membase + UCR3);
@@ -1583,8 +1574,6 @@ imx_set_termios(struct uart_port *port,
ufcr = readl(sport->port.membase + UFCR);
ufcr = (ufcr & (~UFCR_RFDIV)) | UFCR_RFDIV_REG(div);
- if (sport->dte_mode)
- ufcr |= UFCR_DCEDTE;
writel(ufcr, sport->port.membase + UFCR);
writel(num, sport->port.membase + UBIR);
@@ -2149,6 +2138,27 @@ static int serial_imx_probe(struct platf
UCR1_TXMPTYEN | UCR1_RTSDEN);
writel_relaxed(reg, sport->port.membase + UCR1);
+ if (!is_imx1_uart(sport) && sport->dte_mode) {
+ /*
+ * The DCEDTE bit changes the direction of DSR, DCD, DTR and RI
+ * and influences if UCR3_RI and UCR3_DCD changes the level of RI
+ * and DCD (when they are outputs) or enables the respective
+ * irqs. So set this bit early, i.e. before requesting irqs.
+ */
+ writel(UFCR_DCEDTE, sport->port.membase + UFCR);
+
+ /*
+ * Disable UCR3_RI and UCR3_DCD irqs. They are also not
+ * enabled later because they cannot be cleared
+ * (confirmed on i.MX25) which makes them unusable.
+ */
+ writel(IMX21_UCR3_RXDMUXSEL | UCR3_ADNIMP | UCR3_DSR,
+ sport->port.membase + UCR3);
+
+ } else {
+ writel(0, sport->port.membase + UFCR);
+ }
+
clk_disable_unprepare(sport->clk_ipg);
/*
Patches currently in stable-queue which might be from u.kleine-koenig(a)pengutronix.de are
queue-4.9/serial-imx-setup-dcedte-early-and-ensure-dcd-and-ri-irqs-to-be-off.patch
This is a note to let you know that I've just added the patch titled
selinux: check for address length in selinux_socket_bind()
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
selinux-check-for-address-length-in-selinux_socket_bind.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Alexander Potapenko <glider(a)google.com>
Date: Mon, 6 Mar 2017 19:46:14 +0100
Subject: selinux: check for address length in selinux_socket_bind()
From: Alexander Potapenko <glider(a)google.com>
[ Upstream commit e2f586bd83177d22072b275edd4b8b872daba924 ]
KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
uninitialized memory in selinux_socket_bind():
==================================================================
BUG: KMSAN: use of unitialized memory
inter: 0
CPU: 3 PID: 1074 Comm: packet2 Tainted: G B 4.8.0-rc6+ #1916
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
0000000000000000 ffff8800882ffb08 ffffffff825759c8 ffff8800882ffa48
ffffffff818bf551 ffffffff85bab870 0000000000000092 ffffffff85bab550
0000000000000000 0000000000000092 00000000bb0009bb 0000000000000002
Call Trace:
[< inline >] __dump_stack lib/dump_stack.c:15
[<ffffffff825759c8>] dump_stack+0x238/0x290 lib/dump_stack.c:51
[<ffffffff818bdee6>] kmsan_report+0x276/0x2e0 mm/kmsan/kmsan.c:1008
[<ffffffff818bf0fb>] __msan_warning+0x5b/0xb0 mm/kmsan/kmsan_instr.c:424
[<ffffffff822dae71>] selinux_socket_bind+0xf41/0x1080 security/selinux/hooks.c:4288
[<ffffffff8229357c>] security_socket_bind+0x1ec/0x240 security/security.c:1240
[<ffffffff84265d98>] SYSC_bind+0x358/0x5f0 net/socket.c:1366
[<ffffffff84265a22>] SyS_bind+0x82/0xa0 net/socket.c:1356
[<ffffffff81005678>] do_syscall_64+0x58/0x70 arch/x86/entry/common.c:292
[<ffffffff8518217c>] entry_SYSCALL64_slow_path+0x25/0x25 arch/x86/entry/entry_64.o:?
chained origin: 00000000ba6009bb
[<ffffffff810bb7a7>] save_stack_trace+0x27/0x50 arch/x86/kernel/stacktrace.c:67
[< inline >] kmsan_save_stack_with_flags mm/kmsan/kmsan.c:322
[< inline >] kmsan_save_stack mm/kmsan/kmsan.c:337
[<ffffffff818bd2b8>] kmsan_internal_chain_origin+0x118/0x1e0 mm/kmsan/kmsan.c:530
[<ffffffff818bf033>] __msan_set_alloca_origin4+0xc3/0x130 mm/kmsan/kmsan_instr.c:380
[<ffffffff84265b69>] SYSC_bind+0x129/0x5f0 net/socket.c:1356
[<ffffffff84265a22>] SyS_bind+0x82/0xa0 net/socket.c:1356
[<ffffffff81005678>] do_syscall_64+0x58/0x70 arch/x86/entry/common.c:292
[<ffffffff8518217c>] return_from_SYSCALL_64+0x0/0x6a arch/x86/entry/entry_64.o:?
origin description: ----address@SYSC_bind (origin=00000000b8c00900)
==================================================================
(the line numbers are relative to 4.8-rc6, but the bug persists upstream)
, when I run the following program as root:
=======================================================
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[]) {
struct sockaddr addr;
int size = 0;
if (argc > 1) {
size = atoi(argv[1]);
}
memset(&addr, 0, sizeof(addr));
int fd = socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP);
bind(fd, &addr, size);
return 0;
}
=======================================================
(for different values of |size| other error reports are printed).
This happens because bind() unconditionally copies |size| bytes of
|addr| to the kernel, leaving the rest uninitialized. Then
security_socket_bind() reads the IP address bytes, including the
uninitialized ones, to determine the port, or e.g. pass them further to
sel_netnode_find(), which uses them to calculate a hash.
Signed-off-by: Alexander Potapenko <glider(a)google.com>
Acked-by: Eric Dumazet <edumazet(a)google.com>
[PM: fixed some whitespace damage]
Signed-off-by: Paul Moore <paul(a)paul-moore.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
security/selinux/hooks.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -4328,10 +4328,18 @@ static int selinux_socket_bind(struct so
u32 sid, node_perm;
if (family == PF_INET) {
+ if (addrlen < sizeof(struct sockaddr_in)) {
+ err = -EINVAL;
+ goto out;
+ }
addr4 = (struct sockaddr_in *)address;
snum = ntohs(addr4->sin_port);
addrp = (char *)&addr4->sin_addr.s_addr;
} else {
+ if (addrlen < SIN6_LEN_RFC2133) {
+ err = -EINVAL;
+ goto out;
+ }
addr6 = (struct sockaddr_in6 *)address;
snum = ntohs(addr6->sin6_port);
addrp = (char *)&addr6->sin6_addr.s6_addr;
Patches currently in stable-queue which might be from glider(a)google.com are
queue-4.9/selinux-check-for-address-length-in-selinux_socket_bind.patch
This is a note to let you know that I've just added the patch titled
scsi: sg: close race condition in sg_remove_sfp_usercontext()
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-sg-close-race-condition-in-sg_remove_sfp_usercontext.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 7 Apr 2017 09:34:17 +0200
Subject: scsi: sg: close race condition in sg_remove_sfp_usercontext()
From: Hannes Reinecke <hare(a)suse.de>
[ Upstream commit 97d27b0dd015e980ade63fda111fd1353276e28b ]
sg_remove_sfp_usercontext() is clearing any sg requests, but needs to
take 'rq_list_lock' when modifying the list.
Reported-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn(a)suse.de>
Tested-by: Johannes Thumshirn <jthumshirn(a)suse.de>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/sg.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -524,6 +524,7 @@ sg_read(struct file *filp, char __user *
} else
count = (old_hdr->result == 0) ? 0 : -EIO;
sg_finish_rem_req(srp);
+ sg_remove_request(sfp, srp);
retval = count;
free_old_hdr:
kfree(old_hdr);
@@ -564,6 +565,7 @@ sg_new_read(Sg_fd * sfp, char __user *bu
}
err_out:
err2 = sg_finish_rem_req(srp);
+ sg_remove_request(sfp, srp);
return err ? : err2 ? : count;
}
@@ -800,6 +802,7 @@ sg_common_write(Sg_fd * sfp, Sg_request
SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sfp->parentdp,
"sg_common_write: start_req err=%d\n", k));
sg_finish_rem_req(srp);
+ sg_remove_request(sfp, srp);
return k; /* probably out of space --> ENOMEM */
}
if (atomic_read(&sdp->detaching)) {
@@ -812,6 +815,7 @@ sg_common_write(Sg_fd * sfp, Sg_request
}
sg_finish_rem_req(srp);
+ sg_remove_request(sfp, srp);
return -ENODEV;
}
@@ -1302,6 +1306,7 @@ sg_rq_end_io_usercontext(struct work_str
struct sg_fd *sfp = srp->parentfp;
sg_finish_rem_req(srp);
+ sg_remove_request(sfp, srp);
kref_put(&sfp->f_ref, sg_remove_sfp);
}
@@ -1846,8 +1851,6 @@ sg_finish_rem_req(Sg_request *srp)
else
sg_remove_scat(sfp, req_schp);
- sg_remove_request(sfp, srp);
-
return ret;
}
@@ -2194,12 +2197,17 @@ sg_remove_sfp_usercontext(struct work_st
struct sg_fd *sfp = container_of(work, struct sg_fd, ew.work);
struct sg_device *sdp = sfp->parentdp;
Sg_request *srp;
+ unsigned long iflags;
/* Cleanup any responses which were never read(). */
+ write_lock_irqsave(&sfp->rq_list_lock, iflags);
while (!list_empty(&sfp->rq_list)) {
srp = list_first_entry(&sfp->rq_list, Sg_request, entry);
sg_finish_rem_req(srp);
+ list_del(&srp->entry);
+ srp->parentfp = NULL;
}
+ write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
if (sfp->reserve.bufflen > 0) {
SCSI_LOG_TIMEOUT(6, sg_printk(KERN_INFO, sdp,
Patches currently in stable-queue which might be from hare(a)suse.de are
queue-4.9/scsi-devinfo-apply-to-hp-xp-the-same-flags-as-hitachi-vsp.patch
queue-4.9/scsi-sg-close-race-condition-in-sg_remove_sfp_usercontext.patch
queue-4.9/scsi-dh-add-new-rdac-devices.patch
This is a note to let you know that I've just added the patch titled
scsi: sg: check for valid direction before starting the request
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-sg-check-for-valid-direction-before-starting-the-request.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Johannes Thumshirn <jthumshirn(a)suse.de>
Date: Fri, 7 Apr 2017 09:34:15 +0200
Subject: scsi: sg: check for valid direction before starting the request
From: Johannes Thumshirn <jthumshirn(a)suse.de>
[ Upstream commit 28676d869bbb5257b5f14c0c95ad3af3a7019dd5 ]
Check for a valid direction before starting the request, otherwise we
risk running into an assertion in the scsi midlayer checking for valid
requests.
[mkp: fixed typo]
Signed-off-by: Johannes Thumshirn <jthumshirn(a)suse.de>
Link: http://www.spinics.net/lists/linux-scsi/msg104400.html
Reported-by: Dmitry Vyukov <dvyukov(a)google.com>
Signed-off-by: Hannes Reinecke <hare(a)suse.com>
Tested-by: Johannes Thumshirn <jthumshirn(a)suse.de>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/sg.c | 46 ++++++++++++++++++++++++++++++++++------------
1 file changed, 34 insertions(+), 12 deletions(-)
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -663,18 +663,14 @@ sg_write(struct file *filp, const char _
* is a non-zero input_size, so emit a warning.
*/
if (hp->dxfer_direction == SG_DXFER_TO_FROM_DEV) {
- static char cmd[TASK_COMM_LEN];
- if (strcmp(current->comm, cmd)) {
- printk_ratelimited(KERN_WARNING
- "sg_write: data in/out %d/%d bytes "
- "for SCSI command 0x%x-- guessing "
- "data in;\n program %s not setting "
- "count and/or reply_len properly\n",
- old_hdr.reply_len - (int)SZ_SG_HEADER,
- input_size, (unsigned int) cmnd[0],
- current->comm);
- strcpy(cmd, current->comm);
- }
+ printk_ratelimited(KERN_WARNING
+ "sg_write: data in/out %d/%d bytes "
+ "for SCSI command 0x%x-- guessing "
+ "data in;\n program %s not setting "
+ "count and/or reply_len properly\n",
+ old_hdr.reply_len - (int)SZ_SG_HEADER,
+ input_size, (unsigned int) cmnd[0],
+ current->comm);
}
k = sg_common_write(sfp, srp, cmnd, sfp->timeout, blocking);
return (k < 0) ? k : count;
@@ -753,6 +749,29 @@ sg_new_write(Sg_fd *sfp, struct file *fi
return count;
}
+static bool sg_is_valid_dxfer(sg_io_hdr_t *hp)
+{
+ switch (hp->dxfer_direction) {
+ case SG_DXFER_NONE:
+ if (hp->dxferp || hp->dxfer_len > 0)
+ return false;
+ return true;
+ case SG_DXFER_TO_DEV:
+ case SG_DXFER_FROM_DEV:
+ case SG_DXFER_TO_FROM_DEV:
+ if (!hp->dxferp || hp->dxfer_len == 0)
+ return false;
+ return true;
+ case SG_DXFER_UNKNOWN:
+ if ((!hp->dxferp && hp->dxfer_len) ||
+ (hp->dxferp && hp->dxfer_len == 0))
+ return false;
+ return true;
+ default:
+ return false;
+ }
+}
+
static int
sg_common_write(Sg_fd * sfp, Sg_request * srp,
unsigned char *cmnd, int timeout, int blocking)
@@ -773,6 +792,9 @@ sg_common_write(Sg_fd * sfp, Sg_request
"sg_common_write: scsi opcode=0x%02x, cmd_size=%d\n",
(int) cmnd[0], (int) hp->cmd_len));
+ if (!sg_is_valid_dxfer(hp))
+ return -EINVAL;
+
k = sg_start_req(srp, cmnd);
if (k) {
SCSI_LOG_TIMEOUT(1, sg_printk(KERN_INFO, sfp->parentdp,
Patches currently in stable-queue which might be from jthumshirn(a)suse.de are
queue-4.9/scsi-sg-check-for-valid-direction-before-starting-the-request.patch
queue-4.9/scsi-sg-close-race-condition-in-sg_remove_sfp_usercontext.patch
queue-4.9/scsi-core-scsi_get_device_flags_keyed-always-return-device-flags.patch
This is a note to let you know that I've just added the patch titled
scsi: ses: don't get power status of SES device slot on probe
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-ses-don-t-get-power-status-of-ses-device-slot-on-probe.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Mauricio Faria de Oliveira <mauricfo(a)linux.vnet.ibm.com>
Date: Wed, 5 Apr 2017 12:18:19 -0300
Subject: scsi: ses: don't get power status of SES device slot on probe
From: Mauricio Faria de Oliveira <mauricfo(a)linux.vnet.ibm.com>
[ Upstream commit 75106523f39751390b5789b36ee1d213b3af1945 ]
The commit 08024885a2a3 ("ses: Add power_status to SES device slot")
introduced the 'power_status' attribute to enclosure components and
the associated callbacks.
There are 2 callbacks available to get the power status of a device:
1) ses_get_power_status() for 'struct enclosure_component_callbacks'
2) get_component_power_status() for the sysfs device attribute
(these are available for kernel-space and user-space, respectively.)
However, despite both methods being available to get power status
on demand, that commit also introduced a call to get power status
in ses_enclosure_data_process().
This dramatically increased the total probe time for SCSI devices
on larger configurations, because ses_enclosure_data_process() is
called several times during the SCSI devices probe and loops over
the component devices (but that is another problem, another patch).
That results in a tremendous continuous hammering of SCSI Receive
Diagnostics commands to the enclosure-services device, which does
delay the total probe time for the SCSI devices __significantly__:
Originally, ~34 minutes on a system attached to ~170 disks:
[ 9214.490703] mpt3sas version 13.100.00.00 loaded
...
[11256.580231] scsi 17:0:177:0: qdepth(16), tagged(1), simple(0),
ordered(0), scsi_level(6), cmd_que(1)
With this patch, it decreased to ~2.5 minutes -- a 13.6x faster
[ 1002.992533] mpt3sas version 13.100.00.00 loaded
...
[ 1151.978831] scsi 11:0:177:0: qdepth(16), tagged(1), simple(0),
ordered(0), scsi_level(6), cmd_que(1)
Back to the commit discussion.. on the ses_get_power_status() call
introduced in ses_enclosure_data_process(): impact of removing it.
That may possibly be in place to initialize the power status value
on device probe. However, those 2 functions available to retrieve
that value _do_ automatically refresh/update it. So the potential
benefit would be a direct access of the 'power_status' field which
does not use the callbacks...
But the only reader of 'struct enclosure_component::power_status'
is the get_component_power_status() callback for sysfs attribute,
and it _does_ check for and call the .get_power_status callback,
(which indeed is defined and implemented by that commit), so the
power status value is, again, automatically updated.
So, the remaining potential for a direct/non-callback access to
the power_status attribute would be out-of-tree modules -- well,
for those, if they are for whatever reason interested in values
that are set during device probe and not up-to-date by the time
they need it.. well, that would be curious.
Well, to handle that more properly, set the initial power state
value to '-1' (i.e., uninitialized) instead of '1' (power 'on'),
and check for it in that callback which may do an direct access
to the field value _if_ a callback function is not defined.
Signed-off-by: Mauricio Faria de Oliveira <mauricfo(a)linux.vnet.ibm.com>
Fixes: 08024885a2a3 ("ses: Add power_status to SES device slot")
Reviewed-by: Dan Williams <dan.j.williams(a)intel.com>
Reviewed-by: Song Liu <songliubraving(a)fb.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/misc/enclosure.c | 7 ++++++-
drivers/scsi/ses.c | 1 -
2 files changed, 6 insertions(+), 2 deletions(-)
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -148,7 +148,7 @@ enclosure_register(struct device *dev, c
for (i = 0; i < components; i++) {
edev->component[i].number = -1;
edev->component[i].slot = -1;
- edev->component[i].power_status = 1;
+ edev->component[i].power_status = -1;
}
mutex_lock(&container_list_lock);
@@ -600,6 +600,11 @@ static ssize_t get_component_power_statu
if (edev->cb->get_power_status)
edev->cb->get_power_status(edev, ecomp);
+
+ /* If still uninitialized, the callback failed or does not exist. */
+ if (ecomp->power_status == -1)
+ return (edev->cb->get_power_status) ? -EIO : -ENOTTY;
+
return snprintf(buf, 40, "%s\n", ecomp->power_status ? "on" : "off");
}
--- a/drivers/scsi/ses.c
+++ b/drivers/scsi/ses.c
@@ -548,7 +548,6 @@ static void ses_enclosure_data_process(s
ecomp = &edev->component[components++];
if (!IS_ERR(ecomp)) {
- ses_get_power_status(edev, ecomp);
if (addl_desc_ptr)
ses_process_descriptor(
ecomp,
Patches currently in stable-queue which might be from mauricfo(a)linux.vnet.ibm.com are
queue-4.9/scsi-ses-don-t-get-power-status-of-ses-device-slot-on-probe.patch
This is a note to let you know that I've just added the patch titled
scsi: ses: don't ask for diagnostic pages repeatedly during probe
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-ses-don-t-ask-for-diagnostic-pages-repeatedly-during-probe.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Li Dongyang <dongyang.li(a)anu.edu.au>
Date: Tue, 14 Nov 2017 10:48:04 +1100
Subject: scsi: ses: don't ask for diagnostic pages repeatedly during probe
From: Li Dongyang <dongyang.li(a)anu.edu.au>
[ Upstream commit 9c0a50022b8ac7e863e6ec8342fa476fe5d1d75c ]
We are testing if there is a match with the ses device in a loop by
calling ses_match_to_enclosure(), which will issue scsi receive
diagnostics commands to the ses device for every device on the same
host. On one of our boxes with 840 disks, it takes a long time to load
the driver:
[root@g1b-oss06 ~]# time modprobe ses
real 40m48.247s
user 0m0.001s
sys 0m0.196s
With the patch:
[root@g1b-oss06 ~]# time modprobe ses
real 0m17.915s
user 0m0.008s
sys 0m0.053s
Note that we still need to refresh page 10 when we see a new disk to
create the link.
Signed-off-by: Li Dongyang <dongyang.li(a)anu.edu.au>
Tested-by: Jason Ozolins <jason.ozolins(a)hpe.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/ses.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
--- a/drivers/scsi/ses.c
+++ b/drivers/scsi/ses.c
@@ -578,13 +578,16 @@ static void ses_enclosure_data_process(s
}
static void ses_match_to_enclosure(struct enclosure_device *edev,
- struct scsi_device *sdev)
+ struct scsi_device *sdev,
+ int refresh)
{
+ struct scsi_device *edev_sdev = to_scsi_device(edev->edev.parent);
struct efd efd = {
.addr = 0,
};
- ses_enclosure_data_process(edev, to_scsi_device(edev->edev.parent), 0);
+ if (refresh)
+ ses_enclosure_data_process(edev, edev_sdev, 0);
if (scsi_is_sas_rphy(sdev->sdev_target->dev.parent))
efd.addr = sas_get_address(sdev);
@@ -615,7 +618,7 @@ static int ses_intf_add(struct device *c
struct enclosure_device *prev = NULL;
while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) {
- ses_match_to_enclosure(edev, sdev);
+ ses_match_to_enclosure(edev, sdev, 1);
prev = edev;
}
return -ENODEV;
@@ -727,7 +730,7 @@ static int ses_intf_add(struct device *c
shost_for_each_device(tmp_sdev, sdev->host) {
if (tmp_sdev->lun != 0 || scsi_device_enclosure(tmp_sdev))
continue;
- ses_match_to_enclosure(edev, tmp_sdev);
+ ses_match_to_enclosure(edev, tmp_sdev, 0);
}
return 0;
Patches currently in stable-queue which might be from dongyang.li(a)anu.edu.au are
queue-4.9/scsi-ses-don-t-ask-for-diagnostic-pages-repeatedly-during-probe.patch
This is a note to let you know that I've just added the patch titled
scsi: ipr: Fix missed EH wakeup
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-ipr-fix-missed-eh-wakeup.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Brian King <brking(a)linux.vnet.ibm.com>
Date: Wed, 15 Mar 2017 16:58:36 -0500
Subject: scsi: ipr: Fix missed EH wakeup
From: Brian King <brking(a)linux.vnet.ibm.com>
[ Upstream commit 66a0d59cdd12546ddf01d229de28b07ccf6d637f ]
Following a command abort or device reset, ipr's EH handlers wait for
the commands getting aborted to get sent back from the adapter prior to
returning from the EH handler. This fixes up some cases where the
completion handler was not getting called, which would have resulted in
the EH thread waiting until it timed out, greatly extending EH time.
Signed-off-by: Brian King <brking(a)linux.vnet.ibm.com>
Reviewed-by: Wendy Xiong <wenxiong(a)linux.vnet.ibm.com>
Tested-by: Wendy Xiong <wenxiong(a)linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/ipr.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -836,8 +836,10 @@ static void ipr_sata_eh_done(struct ipr_
qc->err_mask |= AC_ERR_OTHER;
sata_port->ioasa.status |= ATA_BUSY;
- list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
ata_qc_complete(qc);
+ if (ipr_cmd->eh_comp)
+ complete(ipr_cmd->eh_comp);
+ list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
}
/**
@@ -5947,8 +5949,10 @@ static void ipr_erp_done(struct ipr_cmnd
res->in_erp = 0;
}
scsi_dma_unmap(ipr_cmd->scsi_cmd);
- list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
scsi_cmd->scsi_done(scsi_cmd);
+ if (ipr_cmd->eh_comp)
+ complete(ipr_cmd->eh_comp);
+ list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
}
/**
@@ -6338,8 +6342,10 @@ static void ipr_erp_start(struct ipr_ioa
}
scsi_dma_unmap(ipr_cmd->scsi_cmd);
- list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
scsi_cmd->scsi_done(scsi_cmd);
+ if (ipr_cmd->eh_comp)
+ complete(ipr_cmd->eh_comp);
+ list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
}
/**
@@ -6365,8 +6371,10 @@ static void ipr_scsi_done(struct ipr_cmn
scsi_dma_unmap(scsi_cmd);
spin_lock_irqsave(ipr_cmd->hrrq->lock, lock_flags);
- list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
scsi_cmd->scsi_done(scsi_cmd);
+ if (ipr_cmd->eh_comp)
+ complete(ipr_cmd->eh_comp);
+ list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
spin_unlock_irqrestore(ipr_cmd->hrrq->lock, lock_flags);
} else {
spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
Patches currently in stable-queue which might be from brking(a)linux.vnet.ibm.com are
queue-4.9/scsi-ipr-fix-missed-eh-wakeup.patch
This is a note to let you know that I've just added the patch titled
scsi: fnic: Fix for "Number of Active IOs" in fnicstats becoming negative
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-fnic-fix-for-number-of-active-ios-in-fnicstats-becoming-negative.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Satish Kharat <satishkh(a)cisco.com>
Date: Tue, 28 Feb 2017 16:14:56 -0800
Subject: scsi: fnic: Fix for "Number of Active IOs" in fnicstats becoming negative
From: Satish Kharat <satishkh(a)cisco.com>
[ Upstream commit 7ef539c88d7d394410d547c9f082d477093a2a22 ]
Fixing the IO stats update (Active IOs and IO completion) to prevent
"Number of Active IOs" from becoming negative in the fnistats output.
Signed-off-by: Satish Kharat <satishkh(a)cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel(a)cisco.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/fnic/fnic_scsi.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -1127,12 +1127,6 @@ static void fnic_fcpio_itmf_cmpl_handler
else
CMD_ABTS_STATUS(sc) = hdr_status;
- atomic64_dec(&fnic_stats->io_stats.active_ios);
- if (atomic64_read(&fnic->io_cmpl_skip))
- atomic64_dec(&fnic->io_cmpl_skip);
- else
- atomic64_inc(&fnic_stats->io_stats.io_completions);
-
if (!(CMD_FLAGS(sc) & (FNIC_IO_ABORTED | FNIC_IO_DONE)))
atomic64_inc(&misc_stats->no_icmnd_itmf_cmpls);
@@ -1173,6 +1167,11 @@ static void fnic_fcpio_itmf_cmpl_handler
(((u64)CMD_FLAGS(sc) << 32) |
CMD_STATE(sc)));
sc->scsi_done(sc);
+ atomic64_dec(&fnic_stats->io_stats.active_ios);
+ if (atomic64_read(&fnic->io_cmpl_skip))
+ atomic64_dec(&fnic->io_cmpl_skip);
+ else
+ atomic64_inc(&fnic_stats->io_stats.io_completions);
}
}
@@ -1962,6 +1961,11 @@ int fnic_abort_cmd(struct scsi_cmnd *sc)
/* Call SCSI completion function to complete the IO */
sc->result = (DID_ABORT << 16);
sc->scsi_done(sc);
+ atomic64_dec(&fnic_stats->io_stats.active_ios);
+ if (atomic64_read(&fnic->io_cmpl_skip))
+ atomic64_dec(&fnic->io_cmpl_skip);
+ else
+ atomic64_inc(&fnic_stats->io_stats.io_completions);
}
fnic_abort_cmd_end:
Patches currently in stable-queue which might be from satishkh(a)cisco.com are
queue-4.9/scsi-fnic-fix-for-number-of-active-ios-in-fnicstats-becoming-negative.patch
This is a note to let you know that I've just added the patch titled
scsi: dh: add new rdac devices
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-dh-add-new-rdac-devices.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
Date: Fri, 17 Nov 2017 22:05:13 +0100
Subject: scsi: dh: add new rdac devices
From: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
[ Upstream commit 4b3aec2bbbce1c35f50e7475a9fd78d24b9ea4ea ]
Add IBM 3542 and 3552, arrays: FAStT200 and FAStT500.
Add full STK OPENstorage family, arrays: 9176, D173, D178, D210, D220,
D240 and D280.
Add STK BladeCtlr family, arrays: B210, B220, B240 and B280.
These changes were done in multipath-tools time ago.
Cc: NetApp RDAC team <ng-eseries-upstream-maintainers(a)netapp.com>
Cc: Hannes Reinecke <hare(a)suse.de>
Cc: Christophe Varoqui <christophe.varoqui(a)opensvc.com>
Cc: Martin K. Petersen <martin.petersen(a)oracle.com>
Cc: James E.J. Bottomley <jejb(a)linux.vnet.ibm.com>
Cc: SCSI ML <linux-scsi(a)vger.kernel.org>
Cc: device-mapper development <dm-devel(a)redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/scsi_dh.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/scsi/scsi_dh.c
+++ b/drivers/scsi/scsi_dh.c
@@ -56,10 +56,13 @@ static const struct scsi_dh_blist scsi_d
{"IBM", "1815", "rdac", },
{"IBM", "1818", "rdac", },
{"IBM", "3526", "rdac", },
+ {"IBM", "3542", "rdac", },
+ {"IBM", "3552", "rdac", },
{"SGI", "TP9", "rdac", },
{"SGI", "IS", "rdac", },
- {"STK", "OPENstorage D280", "rdac", },
+ {"STK", "OPENstorage", "rdac", },
{"STK", "FLEXLINE 380", "rdac", },
+ {"STK", "BladeCtlr", "rdac", },
{"SUN", "CSM", "rdac", },
{"SUN", "LCSM100", "rdac", },
{"SUN", "STK6580_6780", "rdac", },
Patches currently in stable-queue which might be from xose.vazquez(a)gmail.com are
queue-4.9/scsi-devinfo-apply-to-hp-xp-the-same-flags-as-hitachi-vsp.patch
queue-4.9/scsi-dh-add-new-rdac-devices.patch
This is a note to let you know that I've just added the patch titled
scsi: devinfo: apply to HP XP the same flags as Hitachi VSP
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-devinfo-apply-to-hp-xp-the-same-flags-as-hitachi-vsp.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
Date: Fri, 17 Nov 2017 21:31:36 +0100
Subject: scsi: devinfo: apply to HP XP the same flags as Hitachi VSP
From: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
[ Upstream commit b369a0471503130cfc74f9f62071db97f48948c3 ]
Commit 56f3d383f37b ("scsi: scsi_devinfo: Add TRY_VPD_PAGES to HITACHI
OPEN-V blacklist entry") modified some Hitachi entries:
HITACHI is always supporting VPD pages, even though it's claiming to
support SCSI Revision 3 only.
The same should have been done also for HP-rebranded.
[mkp: checkpatch and tweaked commit message]
Cc: Hannes Reinecke <hare(a)suse.de>
Cc: Takahiro Yasui <takahiro.yasui(a)hds.com>
Cc: Matthias Rudolph <Matthias.Rudolph(a)hitachivantara.com>
Cc: Martin K. Petersen <martin.petersen(a)oracle.com>
Cc: James E.J. Bottomley <jejb(a)linux.vnet.ibm.com>
Cc: SCSI ML <linux-scsi(a)vger.kernel.org>
Signed-off-by: Xose Vazquez Perez <xose.vazquez(a)gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/scsi_devinfo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/scsi/scsi_devinfo.c
+++ b/drivers/scsi/scsi_devinfo.c
@@ -180,7 +180,7 @@ static struct {
{"HITACHI", "6586-", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
{"HITACHI", "6588-", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
{"HP", "A6189A", NULL, BLIST_SPARSELUN | BLIST_LARGELUN}, /* HP VA7400 */
- {"HP", "OPEN-", "*", BLIST_REPORTLUN2}, /* HP XP Arrays */
+ {"HP", "OPEN-", "*", BLIST_REPORTLUN2 | BLIST_TRY_VPD_PAGES}, /* HP XP Arrays */
{"HP", "NetRAID-4M", NULL, BLIST_FORCELUN},
{"HP", "HSV100", NULL, BLIST_REPORTLUN2 | BLIST_NOSTARTONADD},
{"HP", "C1557A", NULL, BLIST_FORCELUN},
Patches currently in stable-queue which might be from xose.vazquez(a)gmail.com are
queue-4.9/scsi-devinfo-apply-to-hp-xp-the-same-flags-as-hitachi-vsp.patch
queue-4.9/scsi-dh-add-new-rdac-devices.patch
This is a note to let you know that I've just added the patch titled
scsi: core: scsi_get_device_flags_keyed(): Always return device flags
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-core-scsi_get_device_flags_keyed-always-return-device-flags.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Bart Van Assche <bart.vanassche(a)wdc.com>
Date: Mon, 4 Dec 2017 10:36:31 -0800
Subject: scsi: core: scsi_get_device_flags_keyed(): Always return device flags
From: Bart Van Assche <bart.vanassche(a)wdc.com>
[ Upstream commit a44c9d36509c83cf64f33b93f6ab2e63822c01eb ]
Since scsi_get_device_flags_keyed() callers do not check whether or not
the returned value is an error code, change that function such that it
returns a flags value even if the 'key' argument is invalid. Note:
since commit 28a0bc4120d3 ("scsi: sd: Implement blacklist option for
WRITE SAME w/ UNMAP") bit 31 is a valid device information flag so
checking whether bit 31 is set in the return value is not sufficient to
tell the difference between an error code and a flags value.
Signed-off-by: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: Christoph Hellwig <hch(a)lst.de>
Cc: Hannes Reinecke <hare(a)suse.com>
Cc: Johannes Thumshirn <jthumshirn(a)suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/scsi_devinfo.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
--- a/drivers/scsi/scsi_devinfo.c
+++ b/drivers/scsi/scsi_devinfo.c
@@ -596,17 +596,12 @@ int scsi_get_device_flags_keyed(struct s
int key)
{
struct scsi_dev_info_list *devinfo;
- int err;
devinfo = scsi_dev_info_list_find(vendor, model, key);
if (!IS_ERR(devinfo))
return devinfo->flags;
- err = PTR_ERR(devinfo);
- if (err != -ENOENT)
- return err;
-
- /* nothing found, return nothing */
+ /* key or device not found: return nothing */
if (key != SCSI_DEVINFO_GLOBAL)
return 0;
Patches currently in stable-queue which might be from bart.vanassche(a)wdc.com are
queue-4.9/scsi-core-scsi_get_device_flags_keyed-always-return-device-flags.patch
This is a note to let you know that I've just added the patch titled
scsi: be2iscsi: Check tag in beiscsi_mccq_compl_wait
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
scsi-be2iscsi-check-tag-in-beiscsi_mccq_compl_wait.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Jitendra Bhivare <jitendra.bhivare(a)broadcom.com>
Date: Fri, 24 Mar 2017 14:11:40 +0530
Subject: scsi: be2iscsi: Check tag in beiscsi_mccq_compl_wait
From: Jitendra Bhivare <jitendra.bhivare(a)broadcom.com>
[ Upstream commit eb419229be58dc6d4a3a814116a265908e088c39 ]
scsi host12: BS_1377 : mgmt_invalidate_connection Failed for cid=256
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
IP: [<ffffffff81332ebf>] __list_add+0xf/0xc0
PGD 0
Oops: 0000 [#1] SMP
Modules linked in:
...
CPU: 9 PID: 1542 Comm: iscsid Tainted: G ------------ T 3.10.0-514.el7.x86_64 #1
Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360 Gen9, BIOS P89 09/12/2016
task: ffff88076f310fb0 ti: ffff88076bba8000 task.ti: ffff88076bba8000
RIP: 0010:[<ffffffff81332ebf>] [<ffffffff81332ebf>] __list_add+0xf/0xc0
RSP: 0018:ffff88076bbab8e8 EFLAGS: 00010046
RAX: 0000000000000246 RBX: ffff88076bbab990 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff880468badf58 RDI: ffff88076bbab990
RBP: ffff88076bbab900 R08: 0000000000000246 R09: 00000000000020de
R10: 0000000000000000 R11: ffff88076bbab5be R12: 0000000000000000
R13: ffff880468badf58 R14: 000000000001adb0 R15: ffff88076f310fb0
FS: 00007f377124a880(0000) GS:ffff88046fa40000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000008 CR3: 0000000771318000 CR4: 00000000001407e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Stack:
ffff88076bbab990 ffff880468badf50 0000000000000001 ffff88076bbab938
ffffffff810b128b 0000000000000246 00000000cf9b7040 ffff880468bac7a0
0000000000000000 ffff880468bac7a0 ffff88076bbab9d0 ffffffffa05a6ea3
Call Trace:
[<ffffffff810b128b>] prepare_to_wait+0x7b/0x90
[<ffffffffa05a6ea3>] beiscsi_mccq_compl_wait+0x153/0x330 [be2iscsi]
[<ffffffff810b1600>] ? wake_up_atomic_t+0x30/0x30
[<ffffffffa05981b1>] beiscsi_ep_disconnect+0x91/0x2d0 [be2iscsi]
[<ffffffffa0202ffa>] iscsi_if_ep_disconnect.isra.14+0x5a/0x70 [scsi_transport_iscsi]
[<ffffffffa02042fb>] iscsi_if_recv_msg+0x113b/0x14a0 [scsi_transport_iscsi]
[<ffffffff811dffd8>] ? __kmalloc_node_track_caller+0x58/0x290
[<ffffffffa02046ee>] iscsi_if_rx+0x8e/0x1f0 [scsi_transport_iscsi]
[<ffffffff815a351d>] netlink_unicast+0xed/0x1b0
[<ffffffff815a38fe>] netlink_sendmsg+0x31e/0x690
[<ffffffff815a03e4>] ? netlink_rcv_wake+0x44/0x60
[<ffffffff815a19e3>] ? netlink_recvmsg+0x1e3/0x450
beiscsi_mccq_compl_wait gets called even when MCC tag allocation failed
for mgmt_invalidate_connection. mcc_wait is not initialized for tag 0
so causes crash in prepare_to_wait.
Signed-off-by: Jitendra Bhivare <jitendra.bhivare(a)broadcom.com>
Reviewed-by: Tomas Henzl <thenzl(a)redhat.com>
Reviewed-by: Chris Leech <cleech(a)redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/scsi/be2iscsi/be_cmds.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/scsi/be2iscsi/be_cmds.c
+++ b/drivers/scsi/be2iscsi/be_cmds.c
@@ -246,6 +246,12 @@ int beiscsi_mccq_compl_wait(struct beisc
{
int rc = 0;
+ if (!tag || tag > MAX_MCC_CMD) {
+ __beiscsi_log(phba, KERN_ERR,
+ "BC_%d : invalid tag %u\n", tag);
+ return -EINVAL;
+ }
+
if (beiscsi_hba_in_error(phba)) {
clear_bit(MCC_TAG_STATE_RUNNING,
&phba->ctrl.ptag_state[tag].tag_state);
Patches currently in stable-queue which might be from jitendra.bhivare(a)broadcom.com are
queue-4.9/scsi-be2iscsi-check-tag-in-beiscsi_mccq_compl_wait.patch
This is a note to let you know that I've just added the patch titled
sched: Stop switched_to_rt() from sending IPIs to offline CPUs
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
sched-stop-switched_to_rt-from-sending-ipis-to-offline-cpus.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>
Date: Fri, 13 Oct 2017 17:00:18 -0700
Subject: sched: Stop switched_to_rt() from sending IPIs to offline CPUs
From: "Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>
[ Upstream commit 2fe2582649aa2355f79acddb86bd4d6c5363eb63 ]
The rcutorture test suite occasionally provokes a splat due to invoking
rt_mutex_lock() which needs to boost the priority of a task currently
sitting on a runqueue that belongs to an offline CPU:
WARNING: CPU: 0 PID: 12 at /home/paulmck/public_git/linux-rcu/arch/x86/kernel/smp.c:128 native_smp_send_reschedule+0x37/0x40
Modules linked in:
CPU: 0 PID: 12 Comm: rcub/7 Not tainted 4.14.0-rc4+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
task: ffff9ed3de5f8cc0 task.stack: ffffbbf80012c000
RIP: 0010:native_smp_send_reschedule+0x37/0x40
RSP: 0018:ffffbbf80012fd10 EFLAGS: 00010082
RAX: 000000000000002f RBX: ffff9ed3dd9cb300 RCX: 0000000000000004
RDX: 0000000080000004 RSI: 0000000000000086 RDI: 00000000ffffffff
RBP: ffffbbf80012fd10 R08: 000000000009da7a R09: 0000000000007b9d
R10: 0000000000000001 R11: ffffffffbb57c2cd R12: 000000000000000d
R13: ffff9ed3de5f8cc0 R14: 0000000000000061 R15: ffff9ed3ded59200
FS: 0000000000000000(0000) GS:ffff9ed3dea00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000080686f0 CR3: 000000001b9e0000 CR4: 00000000000006f0
Call Trace:
resched_curr+0x61/0xd0
switched_to_rt+0x8f/0xa0
rt_mutex_setprio+0x25c/0x410
task_blocks_on_rt_mutex+0x1b3/0x1f0
rt_mutex_slowlock+0xa9/0x1e0
rt_mutex_lock+0x29/0x30
rcu_boost_kthread+0x127/0x3c0
kthread+0x104/0x140
? rcu_report_unblock_qs_rnp+0x90/0x90
? kthread_create_on_node+0x40/0x40
ret_from_fork+0x22/0x30
Code: f0 00 0f 92 c0 84 c0 74 14 48 8b 05 34 74 c5 00 be fd 00 00 00 ff 90 a0 00 00 00 5d c3 89 fe 48 c7 c7 a0 c6 fc b9 e8 d5 b5 06 00 <0f> ff 5d c3 0f 1f 44 00 00 8b 05 a2 d1 13 02 85 c0 75 38 55 48
But the target task's priority has already been adjusted, so the only
purpose of switched_to_rt() invoking resched_curr() is to wake up the
CPU running some task that needs to be preempted by the boosted task.
But the CPU is offline, which presumably means that the task must be
migrated to some other CPU, and that this other CPU will undertake any
needed preemption at the time of migration. Because the runqueue lock
is held when resched_curr() is invoked, we know that the boosted task
cannot go anywhere, so it is not necessary to invoke resched_curr()
in this particular case.
This commit therefore makes switched_to_rt() refrain from invoking
resched_curr() when the target CPU is offline.
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/sched/rt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -2206,7 +2206,7 @@ static void switched_to_rt(struct rq *rq
if (tsk_nr_cpus_allowed(p) > 1 && rq->rt.overloaded)
queue_push_tasks(rq);
#endif /* CONFIG_SMP */
- if (p->prio < rq->curr->prio)
+ if (p->prio < rq->curr->prio && cpu_online(cpu_of(rq)))
resched_curr(rq);
}
}
Patches currently in stable-queue which might be from paulmck(a)linux.vnet.ibm.com are
queue-4.9/sched-stop-resched_cpu-from-sending-ipis-to-offline-cpus.patch
queue-4.9/sched-stop-switched_to_rt-from-sending-ipis-to-offline-cpus.patch
queue-4.9/locking-locktorture-fix-num-reader-writer-corner-cases.patch
queue-4.9/rcutorture-configinit-fix-build-directory-error-message.patch
This is a note to let you know that I've just added the patch titled
sched: Stop resched_cpu() from sending IPIs to offline CPUs
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
sched-stop-resched_cpu-from-sending-ipis-to-offline-cpus.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>
Date: Fri, 13 Oct 2017 16:24:28 -0700
Subject: sched: Stop resched_cpu() from sending IPIs to offline CPUs
From: "Paul E. McKenney" <paulmck(a)linux.vnet.ibm.com>
[ Upstream commit a0982dfa03efca6c239c52cabebcea4afb93ea6b ]
The rcutorture test suite occasionally provokes a splat due to invoking
resched_cpu() on an offline CPU:
WARNING: CPU: 2 PID: 8 at /home/paulmck/public_git/linux-rcu/arch/x86/kernel/smp.c:128 native_smp_send_reschedule+0x37/0x40
Modules linked in:
CPU: 2 PID: 8 Comm: rcu_preempt Not tainted 4.14.0-rc4+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
task: ffff902ede9daf00 task.stack: ffff96c50010c000
RIP: 0010:native_smp_send_reschedule+0x37/0x40
RSP: 0018:ffff96c50010fdb8 EFLAGS: 00010096
RAX: 000000000000002e RBX: ffff902edaab4680 RCX: 0000000000000003
RDX: 0000000080000003 RSI: 0000000000000000 RDI: 00000000ffffffff
RBP: ffff96c50010fdb8 R08: 0000000000000000 R09: 0000000000000001
R10: 0000000000000000 R11: 00000000299f36ae R12: 0000000000000001
R13: ffffffff9de64240 R14: 0000000000000001 R15: ffffffff9de64240
FS: 0000000000000000(0000) GS:ffff902edfc80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000f7d4c642 CR3: 000000001e0e2000 CR4: 00000000000006e0
Call Trace:
resched_curr+0x8f/0x1c0
resched_cpu+0x2c/0x40
rcu_implicit_dynticks_qs+0x152/0x220
force_qs_rnp+0x147/0x1d0
? sync_rcu_exp_select_cpus+0x450/0x450
rcu_gp_kthread+0x5a9/0x950
kthread+0x142/0x180
? force_qs_rnp+0x1d0/0x1d0
? kthread_create_on_node+0x40/0x40
ret_from_fork+0x27/0x40
Code: 14 01 0f 92 c0 84 c0 74 14 48 8b 05 14 4f f4 00 be fd 00 00 00 ff 90 a0 00 00 00 5d c3 89 fe 48 c7 c7 38 89 ca 9d e8 e5 56 08 00 <0f> ff 5d c3 0f 1f 44 00 00 8b 05 52 9e 37 02 85 c0 75 38 55 48
---[ end trace 26df9e5df4bba4ac ]---
This splat cannot be generated by expedited grace periods because they
always invoke resched_cpu() on the current CPU, which is good because
expedited grace periods require that resched_cpu() unconditionally
succeed. However, other parts of RCU can tolerate resched_cpu() acting
as a no-op, at least as long as it doesn't happen too often.
This commit therefore makes resched_cpu() invoke resched_curr() only if
the CPU is either online or is the current CPU.
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/sched/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -508,7 +508,8 @@ void resched_cpu(int cpu)
unsigned long flags;
raw_spin_lock_irqsave(&rq->lock, flags);
- resched_curr(rq);
+ if (cpu_online(cpu) || cpu == smp_processor_id())
+ resched_curr(rq);
raw_spin_unlock_irqrestore(&rq->lock, flags);
}
Patches currently in stable-queue which might be from paulmck(a)linux.vnet.ibm.com are
queue-4.9/sched-stop-resched_cpu-from-sending-ipis-to-offline-cpus.patch
queue-4.9/sched-stop-switched_to_rt-from-sending-ipis-to-offline-cpus.patch
queue-4.9/locking-locktorture-fix-num-reader-writer-corner-cases.patch
queue-4.9/rcutorture-configinit-fix-build-directory-error-message.patch
This is a note to let you know that I've just added the patch titled
sched: act_csum: don't mangle TCP and UDP GSO packets
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
sched-act_csum-don-t-mangle-tcp-and-udp-gso-packets.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Davide Caratti <dcaratti(a)redhat.com>
Date: Thu, 23 Mar 2017 10:39:40 +0100
Subject: sched: act_csum: don't mangle TCP and UDP GSO packets
From: Davide Caratti <dcaratti(a)redhat.com>
[ Upstream commit add641e7dee31b36aee83412c29e39dd1f5e0c9c ]
after act_csum computes the checksum on skbs carrying GSO TCP/UDP packets,
subsequent segmentation fails because skb_needs_check(skb, true) returns
true. Because of that, skb_warn_bad_offload() is invoked and the following
message is displayed:
WARNING: CPU: 3 PID: 28 at net/core/dev.c:2553 skb_warn_bad_offload+0xf0/0xfd
<...>
[<ffffffff8171f486>] skb_warn_bad_offload+0xf0/0xfd
[<ffffffff8161304c>] __skb_gso_segment+0xec/0x110
[<ffffffff8161340d>] validate_xmit_skb+0x12d/0x2b0
[<ffffffff816135d2>] validate_xmit_skb_list+0x42/0x70
[<ffffffff8163c560>] sch_direct_xmit+0xd0/0x1b0
[<ffffffff8163c760>] __qdisc_run+0x120/0x270
[<ffffffff81613b3d>] __dev_queue_xmit+0x23d/0x690
[<ffffffff81613fa0>] dev_queue_xmit+0x10/0x20
Since GSO is able to compute checksum on individual segments of such skbs,
we can simply skip mangling the packet.
Signed-off-by: Davide Caratti <dcaratti(a)redhat.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
net/sched/act_csum.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- a/net/sched/act_csum.c
+++ b/net/sched/act_csum.c
@@ -180,6 +180,9 @@ static int tcf_csum_ipv4_tcp(struct sk_b
struct tcphdr *tcph;
const struct iphdr *iph;
+ if (skb_is_gso(skb) && skb_shinfo(skb)->gso_type & SKB_GSO_TCPV4)
+ return 1;
+
tcph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*tcph));
if (tcph == NULL)
return 0;
@@ -201,6 +204,9 @@ static int tcf_csum_ipv6_tcp(struct sk_b
struct tcphdr *tcph;
const struct ipv6hdr *ip6h;
+ if (skb_is_gso(skb) && skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6)
+ return 1;
+
tcph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*tcph));
if (tcph == NULL)
return 0;
@@ -224,6 +230,9 @@ static int tcf_csum_ipv4_udp(struct sk_b
const struct iphdr *iph;
u16 ul;
+ if (skb_is_gso(skb) && skb_shinfo(skb)->gso_type & SKB_GSO_UDP)
+ return 1;
+
/*
* Support both UDP and UDPLITE checksum algorithms, Don't use
* udph->len to get the real length without any protocol check,
@@ -277,6 +286,9 @@ static int tcf_csum_ipv6_udp(struct sk_b
const struct ipv6hdr *ip6h;
u16 ul;
+ if (skb_is_gso(skb) && skb_shinfo(skb)->gso_type & SKB_GSO_UDP)
+ return 1;
+
/*
* Support both UDP and UDPLITE checksum algorithms, Don't use
* udph->len to get the real length without any protocol check,
Patches currently in stable-queue which might be from dcaratti(a)redhat.com are
queue-4.9/sched-act_csum-don-t-mangle-tcp-and-udp-gso-packets.patch
This is a note to let you know that I've just added the patch titled
s390/topology: fix typo in early topology code
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
s390-topology-fix-typo-in-early-topology-code.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Heiko Carstens <heiko.carstens(a)de.ibm.com>
Date: Mon, 13 Mar 2017 13:36:10 +0100
Subject: s390/topology: fix typo in early topology code
From: Heiko Carstens <heiko.carstens(a)de.ibm.com>
[ Upstream commit 4fd4dd8bffb112d1e6549e0ff09e9fa3c8cc2b96 ]
Use MACHINE_FLAG_TOPOLOGY instead of MACHINE_HAS_TOPOLOGY when
clearing the bit that indicates if the machine provides topology
information (and if it should be used). Currently works anyway.
Fixes: 68cc795d1933 ("s390/topology: make "topology=off" parameter work")
Signed-off-by: Heiko Carstens <heiko.carstens(a)de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky(a)de.ibm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
arch/s390/kernel/early.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -372,7 +372,7 @@ static int __init topology_setup(char *s
rc = kstrtobool(str, &enabled);
if (!rc && !enabled)
- S390_lowcore.machine_flags &= ~MACHINE_HAS_TOPOLOGY;
+ S390_lowcore.machine_flags &= ~MACHINE_FLAG_TOPOLOGY;
return rc;
}
early_param("topology", topology_setup);
Patches currently in stable-queue which might be from heiko.carstens(a)de.ibm.com are
queue-4.9/s390-topology-fix-typo-in-early-topology-code.patch
This is a note to let you know that I've just added the patch titled
rtmutex: Fix PI chain order integrity
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
rtmutex-fix-pi-chain-order-integrity.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Peter Zijlstra <peterz(a)infradead.org>
Date: Thu, 23 Mar 2017 15:56:13 +0100
Subject: rtmutex: Fix PI chain order integrity
From: Peter Zijlstra <peterz(a)infradead.org>
[ Upstream commit e0aad5b44ff5d28ac1d6ae70cdf84ca228e889dc ]
rt_mutex_waiter::prio is a copy of task_struct::prio which is updated
during the PI chain walk, such that the PI chain order isn't messed up
by (asynchronous) task state updates.
Currently rt_mutex_waiter_less() uses task state for deadline tasks;
this is broken, since the task state can, as said above, change
asynchronously, causing the RB tree order to change without actual
tree update -> FAIL.
Fix this by also copying the deadline into the rt_mutex_waiter state
and updating it along with its prio field.
Ideally we would also force PI chain updates whenever DL tasks update
their deadline parameter, but for first approximation this is less
broken than it was.
Signed-off-by: Peter Zijlstra (Intel) <peterz(a)infradead.org>
Cc: juri.lelli(a)arm.com
Cc: bigeasy(a)linutronix.de
Cc: xlpang(a)redhat.com
Cc: rostedt(a)goodmis.org
Cc: mathieu.desnoyers(a)efficios.com
Cc: jdesfossez(a)efficios.com
Cc: bristot(a)redhat.com
Link: http://lkml.kernel.org/r/20170323150216.403992539@infradead.org
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
kernel/locking/rtmutex.c | 29 +++++++++++++++++++++++++++--
kernel/locking/rtmutex_common.h | 1 +
2 files changed, 28 insertions(+), 2 deletions(-)
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -236,8 +236,7 @@ rt_mutex_waiter_less(struct rt_mutex_wai
* then right waiter has a dl_prio() too.
*/
if (dl_prio(left->prio))
- return dl_time_before(left->task->dl.deadline,
- right->task->dl.deadline);
+ return dl_time_before(left->deadline, right->deadline);
return 0;
}
@@ -704,7 +703,26 @@ static int rt_mutex_adjust_prio_chain(st
/* [7] Requeue the waiter in the lock waiter tree. */
rt_mutex_dequeue(lock, waiter);
+
+ /*
+ * Update the waiter prio fields now that we're dequeued.
+ *
+ * These values can have changed through either:
+ *
+ * sys_sched_set_scheduler() / sys_sched_setattr()
+ *
+ * or
+ *
+ * DL CBS enforcement advancing the effective deadline.
+ *
+ * Even though pi_waiters also uses these fields, and that tree is only
+ * updated in [11], we can do this here, since we hold [L], which
+ * serializes all pi_waiters access and rb_erase() does not care about
+ * the values of the node being removed.
+ */
waiter->prio = task->prio;
+ waiter->deadline = task->dl.deadline;
+
rt_mutex_enqueue(lock, waiter);
/* [8] Release the task */
@@ -831,6 +849,8 @@ static int rt_mutex_adjust_prio_chain(st
static int try_to_take_rt_mutex(struct rt_mutex *lock, struct task_struct *task,
struct rt_mutex_waiter *waiter)
{
+ lockdep_assert_held(&lock->wait_lock);
+
/*
* Before testing whether we can acquire @lock, we set the
* RT_MUTEX_HAS_WAITERS bit in @lock->owner. This forces all
@@ -958,6 +978,8 @@ static int task_blocks_on_rt_mutex(struc
struct rt_mutex *next_lock;
int chain_walk = 0, res;
+ lockdep_assert_held(&lock->wait_lock);
+
/*
* Early deadlock detection. We really don't want the task to
* enqueue on itself just to untangle the mess later. It's not
@@ -975,6 +997,7 @@ static int task_blocks_on_rt_mutex(struc
waiter->task = task;
waiter->lock = lock;
waiter->prio = task->prio;
+ waiter->deadline = task->dl.deadline;
/* Get the top priority waiter on the lock */
if (rt_mutex_has_waiters(lock))
@@ -1080,6 +1103,8 @@ static void remove_waiter(struct rt_mute
struct task_struct *owner = rt_mutex_owner(lock);
struct rt_mutex *next_lock;
+ lockdep_assert_held(&lock->wait_lock);
+
raw_spin_lock(¤t->pi_lock);
rt_mutex_dequeue(lock, waiter);
current->pi_blocked_on = NULL;
--- a/kernel/locking/rtmutex_common.h
+++ b/kernel/locking/rtmutex_common.h
@@ -33,6 +33,7 @@ struct rt_mutex_waiter {
struct rt_mutex *deadlock_lock;
#endif
int prio;
+ u64 deadline;
};
/*
Patches currently in stable-queue which might be from peterz(a)infradead.org are
queue-4.9/sched-stop-resched_cpu-from-sending-ipis-to-offline-cpus.patch
queue-4.9/perf-buildid-do-not-assume-that-readlink-returns-a-null-terminated-string.patch
queue-4.9/printk-correctly-handle-preemption-in-console_unlock.patch
queue-4.9/sched-stop-switched_to_rt-from-sending-ipis-to-offline-cpus.patch
queue-4.9/perf-session-don-t-rely-on-evlist-in-pipe-mode.patch
queue-4.9/rtmutex-fix-pi-chain-order-integrity.patch
queue-4.9/perf-tools-make-perf_event__synthesize_mmap_events-scale.patch
queue-4.9/perf-annotate-fix-a-bug-following-symbolic-link-of-a-build-id-file.patch
queue-4.9/mm-fix-false-positive-vm_bug_on-in-page_cache_-get-add-_speculative.patch
queue-4.9/kprobes-x86-set-kprobes-pages-read-only.patch
queue-4.9/perf-stat-issue-a-hw-watchdog-disable-hint.patch
queue-4.9/kprobes-x86-fix-kprobe-booster-not-to-boost-far-call-instructions.patch
queue-4.9/perf-sort-fix-segfault-with-basic-block-cycles-sort-dimension.patch
queue-4.9/perf-probe-fix-concat_probe_trace_events.patch
queue-4.9/x86-boot-32-defer-resyncing-initial_page_table-until-per-cpu-is-set-up.patch
queue-4.9/perf-inject-copy-events-when-reordering-events-in-pipe-mode.patch
queue-4.9/perf-probe-return-errno-when-not-hitting-any-event.patch
queue-4.9/perf-evsel-return-exact-sub-event-which-failed-with-eperm-for-wildcards.patch
queue-4.9/perf-stat-fix-bug-in-handling-events-in-error-state.patch
This is a note to let you know that I've just added the patch titled
reiserfs: Make cancel_old_flush() reliable
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
reiserfs-make-cancel_old_flush-reliable.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Jan Kara <jack(a)suse.cz>
Date: Wed, 5 Apr 2017 14:09:48 +0200
Subject: reiserfs: Make cancel_old_flush() reliable
From: Jan Kara <jack(a)suse.cz>
[ Upstream commit 71b0576bdb862e964a82c73327cdd1a249c53e67 ]
Currently canceling of delayed work that flushes old data using
cancel_old_flush() does not prevent work from being requeued. Thus
in theory new work can be queued after cancel_old_flush() from
reiserfs_freeze() has run. This will become larger problem once
flush_old_commits() can requeue the work itself.
Fix the problem by recording in sbi->work_queue that flushing work is
canceled and should not be requeued.
Signed-off-by: Jan Kara <jack(a)suse.cz>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
fs/reiserfs/journal.c | 2 +-
fs/reiserfs/reiserfs.h | 1 +
fs/reiserfs/super.c | 21 +++++++++++++++------
3 files changed, 17 insertions(+), 7 deletions(-)
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -1959,7 +1959,7 @@ static int do_journal_release(struct rei
* will be requeued because superblock is being shutdown and doesn't
* have MS_ACTIVE set.
*/
- cancel_delayed_work_sync(&REISERFS_SB(sb)->old_work);
+ reiserfs_cancel_old_flush(sb);
/* wait for all commits to finish */
cancel_delayed_work_sync(&SB_JOURNAL(sb)->j_work);
--- a/fs/reiserfs/reiserfs.h
+++ b/fs/reiserfs/reiserfs.h
@@ -2948,6 +2948,7 @@ int reiserfs_allocate_list_bitmaps(struc
struct reiserfs_list_bitmap *, unsigned int);
void reiserfs_schedule_old_flush(struct super_block *s);
+void reiserfs_cancel_old_flush(struct super_block *s);
void add_save_link(struct reiserfs_transaction_handle *th,
struct inode *inode, int truncate);
int remove_save_link(struct inode *inode, int truncate);
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -90,7 +90,9 @@ static void flush_old_commits(struct wor
s = sbi->s_journal->j_work_sb;
spin_lock(&sbi->old_work_lock);
- sbi->work_queued = 0;
+ /* Avoid clobbering the cancel state... */
+ if (sbi->work_queued == 1)
+ sbi->work_queued = 0;
spin_unlock(&sbi->old_work_lock);
reiserfs_sync_fs(s, 1);
@@ -117,21 +119,22 @@ void reiserfs_schedule_old_flush(struct
spin_unlock(&sbi->old_work_lock);
}
-static void cancel_old_flush(struct super_block *s)
+void reiserfs_cancel_old_flush(struct super_block *s)
{
struct reiserfs_sb_info *sbi = REISERFS_SB(s);
- cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
spin_lock(&sbi->old_work_lock);
- sbi->work_queued = 0;
+ /* Make sure no new flushes will be queued */
+ sbi->work_queued = 2;
spin_unlock(&sbi->old_work_lock);
+ cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
}
static int reiserfs_freeze(struct super_block *s)
{
struct reiserfs_transaction_handle th;
- cancel_old_flush(s);
+ reiserfs_cancel_old_flush(s);
reiserfs_write_lock(s);
if (!(s->s_flags & MS_RDONLY)) {
@@ -152,7 +155,13 @@ static int reiserfs_freeze(struct super_
static int reiserfs_unfreeze(struct super_block *s)
{
+ struct reiserfs_sb_info *sbi = REISERFS_SB(s);
+
reiserfs_allow_writes(s);
+ spin_lock(&sbi->old_work_lock);
+ /* Allow old_work to run again */
+ sbi->work_queued = 0;
+ spin_unlock(&sbi->old_work_lock);
return 0;
}
@@ -2194,7 +2203,7 @@ error_unlocked:
if (sbi->commit_wq)
destroy_workqueue(sbi->commit_wq);
- cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
+ reiserfs_cancel_old_flush(s);
reiserfs_free_bitmap_cache(s);
if (SB_BUFFER_WITH_SB(s))
Patches currently in stable-queue which might be from jack(a)suse.cz are
queue-4.9/reiserfs-make-cancel_old_flush-reliable.patch
This is a note to let you know that I've just added the patch titled
regulator: core: Limit propagation of parent voltage count and list
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
regulator-core-limit-propagation-of-parent-voltage-count-and-list.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Matthias Kaehlcke <mka(a)chromium.org>
Date: Mon, 27 Mar 2017 16:54:12 -0700
Subject: regulator: core: Limit propagation of parent voltage count and list
From: Matthias Kaehlcke <mka(a)chromium.org>
[ Upstream commit fd086045559d90cd7854818b4c60a7119eda6231 ]
Commit 26988efe11b1 ("regulator: core: Allow to get voltage count and
list from parent") introduces the propagation of the parent voltage
count and list for regulators that don't provide this information
themselves. The goal is to support simple switch regulators, however as
a side effect normal continuous regulators can leak details of their
supplies and provide consumers with inconsistent information.
Limit the propagation of the voltage count and list to switch
regulators.
Fixes: 26988efe11b1 ("regulator: core: Allow to get voltage count and
list from parent")
Signed-off-by: Matthias Kaehlcke <mka(a)chromium.org>
Reviewed-by: Javier Martinez Canillas <javier(a)osg.samsung.com>
Tested-by: Javier Martinez Canillas <javier(a)osg.samsung.com>
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/regulator/core.c | 9 +++++++--
include/linux/regulator/driver.h | 2 ++
2 files changed, 9 insertions(+), 2 deletions(-)
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -2465,7 +2465,7 @@ static int _regulator_list_voltage(struc
ret = ops->list_voltage(rdev, selector);
if (lock)
mutex_unlock(&rdev->mutex);
- } else if (rdev->supply) {
+ } else if (rdev->is_switch && rdev->supply) {
ret = _regulator_list_voltage(rdev->supply, selector, lock);
} else {
return -EINVAL;
@@ -2523,7 +2523,7 @@ int regulator_count_voltages(struct regu
if (rdev->desc->n_voltages)
return rdev->desc->n_voltages;
- if (!rdev->supply)
+ if (!rdev->is_switch || !rdev->supply)
return -EINVAL;
return regulator_count_voltages(rdev->supply);
@@ -4049,6 +4049,11 @@ regulator_register(const struct regulato
mutex_unlock(®ulator_list_mutex);
}
+ if (!rdev->desc->ops->get_voltage &&
+ !rdev->desc->ops->list_voltage &&
+ !rdev->desc->fixed_uV)
+ rdev->is_switch = true;
+
ret = device_register(&rdev->dev);
if (ret != 0) {
put_device(&rdev->dev);
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -425,6 +425,8 @@ struct regulator_dev {
struct regulator_enable_gpio *ena_pin;
unsigned int ena_gpio_state:1;
+ unsigned int is_switch:1;
+
/* time when this regulator was disabled last time */
unsigned long last_off_jiffy;
};
Patches currently in stable-queue which might be from mka(a)chromium.org are
queue-4.9/regulator-core-limit-propagation-of-parent-voltage-count-and-list.patch
This is a note to let you know that I've just added the patch titled
rcutorture/configinit: Fix build directory error message
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
rcutorture-configinit-fix-build-directory-error-message.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: SeongJae Park <sj38.park(a)gmail.com>
Date: Fri, 3 Nov 2017 19:17:20 +0900
Subject: rcutorture/configinit: Fix build directory error message
From: SeongJae Park <sj38.park(a)gmail.com>
[ Upstream commit 2adfa4210f8f35cdfb4e08318cc06b99752964c2 ]
The 'configinit.sh' script checks the format of optional argument for the
build directory, printing an error message if the format is not valid.
However, the error message uses the wrong variable, indicating an empty
string even though the user entered a non-empty (but erroneous) string.
This commit fixes the script to use the correct variable.
Fixes: c87b9c601ac8 ("rcutorture: Add KVM-based test framework")
Signed-off-by: SeongJae Park <sj38.park(a)gmail.com>
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
tools/testing/selftests/rcutorture/bin/configinit.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/tools/testing/selftests/rcutorture/bin/configinit.sh
+++ b/tools/testing/selftests/rcutorture/bin/configinit.sh
@@ -51,7 +51,7 @@ then
mkdir $builddir
fi
else
- echo Bad build directory: \"$builddir\"
+ echo Bad build directory: \"$buildloc\"
exit 2
fi
fi
Patches currently in stable-queue which might be from sj38.park(a)gmail.com are
queue-4.9/rcutorture-configinit-fix-build-directory-error-message.patch
This is a note to let you know that I've just added the patch titled
qed: Fix TM block ILT allocation
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
qed-fix-tm-block-ilt-allocation.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Michal Kalderon <Michal.Kalderon(a)cavium.com>
Date: Mon, 3 Apr 2017 12:21:10 +0300
Subject: qed: Fix TM block ILT allocation
From: Michal Kalderon <Michal.Kalderon(a)cavium.com>
[ Upstream commit 44531ba45dbf3c23cc7ae0934ec9b33ef340ac56 ]
When configuring the HW timers block we should set the number of CIDs
up until the last CID that require timers, instead of only those CIDs
whose protocol needs timers support.
Today, the protocols that require HW timers' support have their CIDs
before any other protocol, but that would change in future [when we
add iWARP support].
Signed-off-by: Michal Kalderon <Michal.Kalderon(a)cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz(a)cavium.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/ethernet/qlogic/qed/qed_cxt.c | 32 +++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)
--- a/drivers/net/ethernet/qlogic/qed/qed_cxt.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.c
@@ -271,16 +271,34 @@ struct qed_tm_iids {
u32 per_vf_tids;
};
-static void qed_cxt_tm_iids(struct qed_cxt_mngr *p_mngr,
+static void qed_cxt_tm_iids(struct qed_hwfn *p_hwfn,
+ struct qed_cxt_mngr *p_mngr,
struct qed_tm_iids *iids)
{
- u32 i, j;
-
- for (i = 0; i < MAX_CONN_TYPES; i++) {
+ bool tm_vf_required = false;
+ bool tm_required = false;
+ int i, j;
+
+ /* Timers is a special case -> we don't count how many cids require
+ * timers but what's the max cid that will be used by the timer block.
+ * therefore we traverse in reverse order, and once we hit a protocol
+ * that requires the timers memory, we'll sum all the protocols up
+ * to that one.
+ */
+ for (i = MAX_CONN_TYPES - 1; i >= 0; i--) {
struct qed_conn_type_cfg *p_cfg = &p_mngr->conn_cfg[i];
- if (tm_cid_proto(i)) {
+ if (tm_cid_proto(i) || tm_required) {
+ if (p_cfg->cid_count)
+ tm_required = true;
+
iids->pf_cids += p_cfg->cid_count;
+ }
+
+ if (tm_cid_proto(i) || tm_vf_required) {
+ if (p_cfg->cids_per_vf)
+ tm_vf_required = true;
+
iids->per_vf_cids += p_cfg->cids_per_vf;
}
}
@@ -696,7 +714,7 @@ int qed_cxt_cfg_ilt_compute(struct qed_h
/* TM PF */
p_cli = &p_mngr->clients[ILT_CLI_TM];
- qed_cxt_tm_iids(p_mngr, &tm_iids);
+ qed_cxt_tm_iids(p_hwfn, p_mngr, &tm_iids);
total = tm_iids.pf_cids + tm_iids.pf_tids_total;
if (total) {
p_blk = &p_cli->pf_blks[0];
@@ -1591,7 +1609,7 @@ static void qed_tm_init_pf(struct qed_hw
u8 i;
memset(&tm_iids, 0, sizeof(tm_iids));
- qed_cxt_tm_iids(p_mngr, &tm_iids);
+ qed_cxt_tm_iids(p_hwfn, p_mngr, &tm_iids);
/* @@@TBD No pre-scan for now */
Patches currently in stable-queue which might be from Michal.Kalderon(a)cavium.com are
queue-4.9/qed-fix-tm-block-ilt-allocation.patch
This is a note to let you know that I've just added the patch titled
qed: Correct MSI-x for storage
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
qed-correct-msi-x-for-storage.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Mintz, Yuval" <Yuval.Mintz(a)cavium.com>
Date: Wed, 5 Apr 2017 21:20:11 +0300
Subject: qed: Correct MSI-x for storage
From: "Mintz, Yuval" <Yuval.Mintz(a)cavium.com>
[ Upstream commit 2f78227874754b1e10cd348fd6e7693b0dabb3f6 ]
When qedr is enabled, qed would try dividing the msi-x vectors between
L2 and RoCE, starting with L2 and providing it with sufficient vectors
for its queues.
Problem is qed would also do that for storage partitions, and as those
don't need queues it would lead qed to award those partitions with 0
msi-x vectors, causing them to believe theye're using INTa and
preventing them from operating.
Fixes: 51ff17251c9c ("qed: Add support for RoCE hw init")
Signed-off-by: Yuval Mintz <Yuval.Mintz(a)cavium.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/ethernet/qlogic/qed/qed_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/net/ethernet/qlogic/qed/qed_main.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_main.c
@@ -711,7 +711,8 @@ static int qed_slowpath_setup_int(struct
cdev->int_params.fp_msix_cnt = cdev->int_params.out.num_vectors -
cdev->num_hwfns;
- if (!IS_ENABLED(CONFIG_QED_RDMA))
+ if (!IS_ENABLED(CONFIG_QED_RDMA) ||
+ QED_LEADING_HWFN(cdev)->hw_info.personality != QED_PCI_ETH_ROCE)
return 0;
for_each_hwfn(cdev, i)
Patches currently in stable-queue which might be from Yuval.Mintz(a)cavium.com are
queue-4.9/qed-always-publish-vf-link-from-leading-hwfn.patch
queue-4.9/qed-fix-tm-block-ilt-allocation.patch
queue-4.9/qed-correct-msi-x-for-storage.patch
This is a note to let you know that I've just added the patch titled
qed: Always publish VF link from leading hwfn
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
qed-always-publish-vf-link-from-leading-hwfn.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: "Mintz, Yuval" <Yuval.Mintz(a)cavium.com>
Date: Sun, 19 Mar 2017 13:08:20 +0200
Subject: qed: Always publish VF link from leading hwfn
From: "Mintz, Yuval" <Yuval.Mintz(a)cavium.com>
[ Upstream commit e50728effe1126eae39445ba144078b1305b7047 ]
The link information exists only on the leading hwfn,
but some of its derivatives [e.g., min/max rate] need to
be configured for each hwfn.
When re-basing the VF link view, use the leading hwfn
information as basis for all existing hwfns to allow
said configurations to stick.
Signed-off-by: Yuval Mintz <Yuval.Mintz(a)cavium.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/net/ethernet/qlogic/qed/qed_sriov.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
--- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c
@@ -3573,6 +3573,7 @@ static int qed_get_vf_config(struct qed_
void qed_inform_vf_link_state(struct qed_hwfn *hwfn)
{
+ struct qed_hwfn *lead_hwfn = QED_LEADING_HWFN(hwfn->cdev);
struct qed_mcp_link_capabilities caps;
struct qed_mcp_link_params params;
struct qed_mcp_link_state link;
@@ -3589,9 +3590,15 @@ void qed_inform_vf_link_state(struct qed
if (!vf_info)
continue;
- memcpy(¶ms, qed_mcp_get_link_params(hwfn), sizeof(params));
- memcpy(&link, qed_mcp_get_link_state(hwfn), sizeof(link));
- memcpy(&caps, qed_mcp_get_link_capabilities(hwfn),
+ /* Only hwfn0 is actually interested in the link speed.
+ * But since only it would receive an MFW indication of link,
+ * need to take configuration from it - otherwise things like
+ * rate limiting for hwfn1 VF would not work.
+ */
+ memcpy(¶ms, qed_mcp_get_link_params(lead_hwfn),
+ sizeof(params));
+ memcpy(&link, qed_mcp_get_link_state(lead_hwfn), sizeof(link));
+ memcpy(&caps, qed_mcp_get_link_capabilities(lead_hwfn),
sizeof(caps));
/* Modify link according to the VF's configured link state */
Patches currently in stable-queue which might be from Yuval.Mintz(a)cavium.com are
queue-4.9/qed-always-publish-vf-link-from-leading-hwfn.patch
queue-4.9/qed-fix-tm-block-ilt-allocation.patch
queue-4.9/qed-correct-msi-x-for-storage.patch
This is a note to let you know that I've just added the patch titled
pwm: tegra: Increase precision in PWM rate calculation
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
pwm-tegra-increase-precision-in-pwm-rate-calculation.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Laxman Dewangan <ldewangan(a)nvidia.com>
Date: Fri, 7 Apr 2017 15:04:00 +0530
Subject: pwm: tegra: Increase precision in PWM rate calculation
From: Laxman Dewangan <ldewangan(a)nvidia.com>
[ Upstream commit 250b76f43f57d578ebff5e7211eb2c73aa5cd6ca ]
The rate of the PWM calculated as follows:
hz = NSEC_PER_SEC / period_ns;
rate = (rate + (hz / 2)) / hz;
This has the precision loss in lower PWM rate.
Change this to have more precision as:
hz = DIV_ROUND_CLOSEST_ULL(NSEC_PER_SEC * 100, period_ns);
rate = DIV_ROUND_CLOSEST(rate * 100, hz)
Example:
1. period_ns = 16672000, PWM clock rate is 200 KHz.
Based on old formula
hz = NSEC_PER_SEC / period_ns
= 1000000000ul/16672000
= 59 (59.98)
rate = (200K + 59/2)/59 = 3390
Based on new method:
hz = 5998
rate = DIV_ROUND_CLOSE(200000*100, 5998) = 3334
If we measure the PWM signal rate, we will get more accurate
period with rate value of 3334 instead of 3390.
2. period_ns = 16803898, PWM clock rate is 200 KHz.
Based on old formula:
hz = 59, rate = 3390
Based on new formula:
hz = 5951, rate = 3360
The PWM signal rate of 3360 is more near to requested period
than 3333.
Signed-off-by: Laxman Dewangan <ldewangan(a)nvidia.com>
Signed-off-by: Thierry Reding <thierry.reding(a)gmail.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/pwm/pwm-tegra.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/drivers/pwm/pwm-tegra.c
+++ b/drivers/pwm/pwm-tegra.c
@@ -76,6 +76,7 @@ static int tegra_pwm_config(struct pwm_c
struct tegra_pwm_chip *pc = to_tegra_pwm_chip(chip);
unsigned long long c = duty_ns;
unsigned long rate, hz;
+ unsigned long long ns100 = NSEC_PER_SEC;
u32 val = 0;
int err;
@@ -95,9 +96,11 @@ static int tegra_pwm_config(struct pwm_c
* cycles at the PWM clock rate will take period_ns nanoseconds.
*/
rate = clk_get_rate(pc->clk) >> PWM_DUTY_WIDTH;
- hz = NSEC_PER_SEC / period_ns;
- rate = (rate + (hz / 2)) / hz;
+ /* Consider precision in PWM_SCALE_WIDTH rate calculation */
+ ns100 *= 100;
+ hz = DIV_ROUND_CLOSEST_ULL(ns100, period_ns);
+ rate = DIV_ROUND_CLOSEST(rate * 100, hz);
/*
* Since the actual PWM divider is the register's frequency divider
Patches currently in stable-queue which might be from ldewangan(a)nvidia.com are
queue-4.9/pwm-tegra-increase-precision-in-pwm-rate-calculation.patch
This is a note to let you know that I've just added the patch titled
pwm: stmpe: Fix wrong register offset for hwpwm=2 case
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
pwm-stmpe-fix-wrong-register-offset-for-hwpwm-2-case.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From foo@baz Sun Mar 18 16:55:33 CET 2018
From: Axel Lin <axel.lin(a)ingics.com>
Date: Tue, 7 Nov 2017 13:18:53 +0800
Subject: pwm: stmpe: Fix wrong register offset for hwpwm=2 case
From: Axel Lin <axel.lin(a)ingics.com>
[ Upstream commit 8472b529e113e0863ea064fdee51bf73c3f86fd6 ]
Fix trivial copy/paste bug.
Signed-off-by: Axel Lin <axel.lin(a)ingics.com>
Reviewed-by: Linus Walleij <linus.walleij(a)linaro.org>
Fixes: ef1f09eca74a ("pwm: Add a driver for the STMPE PWM")
Signed-off-by: Thierry Reding <thierry.reding(a)gmail.com>
Signed-off-by: Sasha Levin <alexander.levin(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/pwm/pwm-stmpe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/pwm/pwm-stmpe.c
+++ b/drivers/pwm/pwm-stmpe.c
@@ -145,7 +145,7 @@ static int stmpe_24xx_pwm_config(struct
break;
case 2:
- offset = STMPE24XX_PWMIC1;
+ offset = STMPE24XX_PWMIC2;
break;
default:
Patches currently in stable-queue which might be from axel.lin(a)ingics.com are
queue-4.9/pwm-stmpe-fix-wrong-register-offset-for-hwpwm-2-case.patch