linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long
@ 2017-11-15  2:45 alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 02/28] RDS: RDMA: return appropriate error on rdma map failures alexander.levin
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Bob Moore, Lv Zheng, Rafael J . Wysocki, alexander.levin

From: Bob Moore <robert.moore@intel.com>

[ Upstream commit 57707a9a7780fab426b8ae9b4c7b65b912a748b3 ]

ACPICA commit 9f76de2d249b18804e35fb55d14b1c2604d627a1
ACPICA commit b2e89d72ef1e9deefd63c3fd1dee90f893575b3a
ACPICA commit 23b5bbe6d78afd3c5abf3adb91a1b098a3000b2e

The declared buffer length must be the same as the length of the
byte initializer list, otherwise not a valid resource descriptor.

Link: https://github.com/acpica/acpica/commit/9f76de2d
Link: https://github.com/acpica/acpica/commit/b2e89d72
Link: https://github.com/acpica/acpica/commit/23b5bbe6
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/acpi/acpica/utresrc.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/acpica/utresrc.c b/drivers/acpi/acpica/utresrc.c
index b3505dbc715e..3f903f4855db 100644
--- a/drivers/acpi/acpica/utresrc.c
+++ b/drivers/acpi/acpica/utresrc.c
@@ -421,8 +421,10 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
 
 	ACPI_FUNCTION_TRACE(ut_walk_aml_resources);
 
-	/* The absolute minimum resource template is one end_tag descriptor */
-
+	/*
+	 * The absolute minimum resource template is one end_tag descriptor.
+	 * However, we will treat a lone end_tag as just a simple buffer.
+	 */
 	if (aml_length < sizeof(struct aml_resource_end_tag)) {
 		return_ACPI_STATUS(AE_AML_NO_RESOURCE_END_TAG);
 	}
@@ -454,9 +456,8 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
 		/* Invoke the user function */
 
 		if (user_function) {
-			status =
-			    user_function(aml, length, offset, resource_index,
-					  context);
+			status = user_function(aml, length, offset,
+					       resource_index, context);
 			if (ACPI_FAILURE(status)) {
 				return_ACPI_STATUS(status);
 			}
@@ -480,6 +481,12 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,
 				*context = aml;
 			}
 
+			/* Check if buffer is defined to be longer than the resource length */
+
+			if (aml_length > (offset + length)) {
+				return_ACPI_STATUS(AE_AML_NO_RESOURCE_END_TAG);
+			}
+
 			/* Normal exit */
 
 			return_ACPI_STATUS(AE_OK);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 02/28] RDS: RDMA: return appropriate error on rdma map failures
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
@ 2017-11-15  2:45 ` alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 06/28] net: 3com: typhoon: typhoon_init_one: make return values more specific alexander.levin
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Santosh Shilimkar, alexander.levin

From: Santosh Shilimkar <santosh.shilimkar@oracle.com>

[ Upstream commit 584a8279a44a800dea5a5c1e9d53a002e03016b4 ]

The first message to a remote node should prompt a new
connection even if it is RDMA operation. For RDMA operation
the MR mapping can fail because connections is not yet up.

Since the connection establishment is asynchronous,
we make sure the map failure because of unavailable
connection reach to the user by appropriate error code.
Before returning to the user, lets trigger the connection
so that its ready for the next retry.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/rds/send.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/net/rds/send.c b/net/rds/send.c
index 6815f03324d7..1a3c6acdd3f8 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -959,6 +959,11 @@ static int rds_cmsg_send(struct rds_sock *rs, struct rds_message *rm,
 			ret = rds_cmsg_rdma_map(rs, rm, cmsg);
 			if (!ret)
 				*allocated_mr = 1;
+			else if (ret == -ENODEV)
+				/* Accommodate the get_mr() case which can fail
+				 * if connection isn't established yet.
+				 */
+				ret = -EAGAIN;
 			break;
 		case RDS_CMSG_ATOMIC_CSWP:
 		case RDS_CMSG_ATOMIC_FADD:
@@ -1072,8 +1077,12 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len)
 
 	/* Parse any control messages the user may have included. */
 	ret = rds_cmsg_send(rs, rm, msg, &allocated_mr);
-	if (ret)
+	if (ret) {
+		/* Trigger connection so that its ready for the next retry */
+		if (ret ==  -EAGAIN)
+			rds_conn_connect_if_down(conn);
 		goto out;
+	}
 
 	if (rm->rdma.op_active && !conn->c_trans->xmit_rdma) {
 		printk_ratelimited(KERN_NOTICE "rdma_op %p conn xmit_rdma %p\n",
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 05/28] net: Allow IP_MULTICAST_IF to set index to L3 slave
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 02/28] RDS: RDMA: return appropriate error on rdma map failures alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 06/28] net: 3com: typhoon: typhoon_init_one: make return values more specific alexander.levin
@ 2017-11-15  2:45 ` alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 03/28] PCI: Apply _HPX settings only to relevant devices alexander.levin
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: David Ahern, David S . Miller, alexander.levin

From: David Ahern <dsa@cumulusnetworks.com>

[ Upstream commit 7bb387c5ab12aeac3d5eea28686489ff46b53ca9 ]

IP_MULTICAST_IF fails if sk_bound_dev_if is already set and the new index
does not match it. e.g.,

    ntpd[15381]: setsockopt IP_MULTICAST_IF 192.168.1.23 fails: Invalid argument

Relax the check in setsockopt to allow setting mc_index to an L3 slave if
sk_bound_dev_if points to an L3 master.

Make a similar change for IPv6. In this case change the device lookup to
take the rcu_read_lock avoiding a refcnt. The rcu lock is also needed for
the lookup of a potential L3 master device.

This really only silences a setsockopt failure since uses of mc_index are
secondary to sk_bound_dev_if if it is set. In both cases, if either index
is an L3 slave or master, lookups are directed to the same FIB table so
relaxing the check at setsockopt time causes no harm.

Patch is based on a suggested change by Darwin for a problem noted in
their code base.

Suggested-by: Darwin Dingel <darwin.dingel@alliedtelesis.co.nz>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/ipv4/ip_sockglue.c   |  7 ++++++-
 net/ipv6/ipv6_sockglue.c | 16 ++++++++++++----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index f300d1cbfa91..097a1243c16c 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -808,6 +808,7 @@ static int do_ip_setsockopt(struct sock *sk, int level,
 	{
 		struct ip_mreqn mreq;
 		struct net_device *dev = NULL;
+		int midx;
 
 		if (sk->sk_type == SOCK_STREAM)
 			goto e_inval;
@@ -852,11 +853,15 @@ static int do_ip_setsockopt(struct sock *sk, int level,
 		err = -EADDRNOTAVAIL;
 		if (!dev)
 			break;
+
+		midx = l3mdev_master_ifindex(dev);
+
 		dev_put(dev);
 
 		err = -EINVAL;
 		if (sk->sk_bound_dev_if &&
-		    mreq.imr_ifindex != sk->sk_bound_dev_if)
+		    mreq.imr_ifindex != sk->sk_bound_dev_if &&
+		    (!midx || midx != sk->sk_bound_dev_if))
 			break;
 
 		inet->mc_index = mreq.imr_ifindex;
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 4449ad1f8114..a4a30d2ca66f 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -583,16 +583,24 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
 
 		if (val) {
 			struct net_device *dev;
+			int midx;
 
-			if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != val)
-				goto e_inval;
+			rcu_read_lock();
 
-			dev = dev_get_by_index(net, val);
+			dev = dev_get_by_index_rcu(net, val);
 			if (!dev) {
+				rcu_read_unlock();
 				retv = -ENODEV;
 				break;
 			}
-			dev_put(dev);
+			midx = l3mdev_master_ifindex_rcu(dev);
+
+			rcu_read_unlock();
+
+			if (sk->sk_bound_dev_if &&
+			    sk->sk_bound_dev_if != val &&
+			    (!midx || midx != sk->sk_bound_dev_if))
+				goto e_inval;
 		}
 		np->mcast_oif = val;
 		retv = 0;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 06/28] net: 3com: typhoon: typhoon_init_one: make return values more specific
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 02/28] RDS: RDMA: return appropriate error on rdma map failures alexander.levin
@ 2017-11-15  2:45 ` alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 05/28] net: Allow IP_MULTICAST_IF to set index to L3 slave alexander.levin
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Thomas Preisner, Milan Stephan, David S . Miller, alexander.levin

From: Thomas Preisner <thomas.preisner+linux@fau.de>

[ Upstream commit 6b6bbb5922a4b1d4b58125a572da91010295fba3 ]

In some cases the return value of a failing function is not being used
and the function typhoon_init_one() returns another negative error code
instead.

Signed-off-by: Thomas Preisner <thomas.preisner+linux@fau.de>
Signed-off-by: Milan Stephan <milan.stephan+linux@fau.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/ethernet/3com/typhoon.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index 8f8418d2ac4a..6d0f0eb2ee2f 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -2366,9 +2366,9 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	 * 4) Get the hardware address.
 	 * 5) Put the card to sleep.
 	 */
-	if (typhoon_reset(ioaddr, WaitSleep) < 0) {
+	err = typhoon_reset(ioaddr, WaitSleep);
+	if (err < 0) {
 		err_msg = "could not reset 3XP";
-		err = -EIO;
 		goto error_out_dma;
 	}
 
@@ -2382,16 +2382,16 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	typhoon_init_interface(tp);
 	typhoon_init_rings(tp);
 
-	if(typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0) {
+	err = typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST);
+	if (err < 0) {
 		err_msg = "cannot boot 3XP sleep image";
-		err = -EIO;
 		goto error_out_reset;
 	}
 
 	INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_MAC_ADDRESS);
-	if(typhoon_issue_command(tp, 1, &xp_cmd, 1, xp_resp) < 0) {
+	err = typhoon_issue_command(tp, 1, &xp_cmd, 1, xp_resp);
+	if (err < 0) {
 		err_msg = "cannot read MAC address";
-		err = -EIO;
 		goto error_out_reset;
 	}
 
@@ -2424,9 +2424,9 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if(xp_resp[0].numDesc != 0)
 		tp->capabilities |= TYPHOON_WAKEUP_NEEDS_RESET;
 
-	if(typhoon_sleep(tp, PCI_D3hot, 0) < 0) {
+	err = typhoon_sleep(tp, PCI_D3hot, 0);
+	if (err < 0) {
 		err_msg = "cannot put adapter to sleep";
-		err = -EIO;
 		goto error_out_reset;
 	}
 
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 04/28] dmaengine: zx: set DMA_CYCLIC cap_mask bit
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (3 preceding siblings ...)
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 03/28] PCI: Apply _HPX settings only to relevant devices alexander.levin
@ 2017-11-15  2:45 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 10/28] ath10k: ignore configuring the incorrect board_id alexander.levin
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Shawn Guo, Vinod Koul, alexander.levin

From: Shawn Guo <shawn.guo@linaro.org>

[ Upstream commit fc318d64f3d91e15babac00e08354b1beb650b57 ]

The zx_dma driver supports cyclic transfer mode.  Let's set DMA_CYCLIC
cap_mask bit to make that clear, and avoid unnecessary failure when
clients request channel via dma_request_chan_by_mask() with DMA_CYCLIC
bit set in mask.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/dma/zx296702_dma.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/dma/zx296702_dma.c b/drivers/dma/zx296702_dma.c
index 245d759d5ffc..6059d81e701a 100644
--- a/drivers/dma/zx296702_dma.c
+++ b/drivers/dma/zx296702_dma.c
@@ -813,6 +813,7 @@ static int zx_dma_probe(struct platform_device *op)
 	INIT_LIST_HEAD(&d->slave.channels);
 	dma_cap_set(DMA_SLAVE, d->slave.cap_mask);
 	dma_cap_set(DMA_MEMCPY, d->slave.cap_mask);
+	dma_cap_set(DMA_CYCLIC, d->slave.cap_mask);
 	dma_cap_set(DMA_PRIVATE, d->slave.cap_mask);
 	d->slave.dev = &op->dev;
 	d->slave.device_free_chan_resources = zx_dma_free_chan_resources;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 03/28] PCI: Apply _HPX settings only to relevant devices
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (2 preceding siblings ...)
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 05/28] net: Allow IP_MULTICAST_IF to set index to L3 slave alexander.levin
@ 2017-11-15  2:45 ` alexander.levin
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 04/28] dmaengine: zx: set DMA_CYCLIC cap_mask bit alexander.levin
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:45 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Bjorn Helgaas, alexander.levin

From: Bjorn Helgaas <bhelgaas@google.com>

[ Upstream commit 977509f7c5c6fb992ffcdf4291051af343b91645 ]

Previously we didn't check the type of device before trying to apply Type 1
(PCI-X) or Type 2 (PCIe) Setting Records from _HPX.

We don't support PCI-X Setting Records, so this was harmless, but the
warning was useless.

We do support PCIe Setting Records, and we didn't check whether a device
was PCIe before applying settings.  I don't think anything bad happened on
non-PCIe devices because pcie_capability_clear_and_set_word(),
pcie_cap_has_lnkctl(), etc., would fail before doing any harm.  But it's
ugly to depend on those internals.

Check the device type before attempting to apply Type 1 and Type 2 Setting
Records (Type 0 records are applicable to PCI, PCI-X, and PCIe devices).

A side benefit is that this prevents useless "not supported" warnings when
a BIOS supplies a Type 1 (PCI-X) Setting Record and we try to apply it to
every single device:

  pci 0000:00:00.0: PCI-X settings not supported

After this patch, we'll get the warning only when a BIOS supplies a Type 1
record and we have a PCI-X device to which it should be applied.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=187731
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/pci/probe.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b83df942794f..193ac13de49b 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1414,8 +1414,16 @@ static void program_hpp_type0(struct pci_dev *dev, struct hpp_type0 *hpp)
 
 static void program_hpp_type1(struct pci_dev *dev, struct hpp_type1 *hpp)
 {
-	if (hpp)
-		dev_warn(&dev->dev, "PCI-X settings not supported\n");
+	int pos;
+
+	if (!hpp)
+		return;
+
+	pos = pci_find_capability(dev, PCI_CAP_ID_PCIX);
+	if (!pos)
+		return;
+
+	dev_warn(&dev->dev, "PCI-X settings not supported\n");
 }
 
 static bool pcie_root_rcb_set(struct pci_dev *dev)
@@ -1441,6 +1449,9 @@ static void program_hpp_type2(struct pci_dev *dev, struct hpp_type2 *hpp)
 	if (!hpp)
 		return;
 
+	if (!pci_is_pcie(dev))
+		return;
+
 	if (hpp->revision > 1) {
 		dev_warn(&dev->dev, "PCIe settings rev %d not supported\n",
 			 hpp->revision);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 10/28] ath10k: ignore configuring the incorrect board_id
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (4 preceding siblings ...)
  2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 04/28] dmaengine: zx: set DMA_CYCLIC cap_mask bit alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 09/28] ath10k: fix incorrect txpower set by P2P_DEVICE interface alexander.levin
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Ryan Hsu, Kalle Valo, alexander.levin

From: Ryan Hsu <ryanhsu@qca.qualcomm.com>

[ Upstream commit d2e202c06ca42d353d95df12437740921a6d05b5 ]

With command to get board_id from otp, in the case of following

  boot get otp board id result 0x00000000 board_id 0 chip_id 0
  boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=0"
  ...
  failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-board-id=0 from
  ath10k/QCA6174/hw3.0/board-2.bin

The invalid board_id=0 will be used as index to search in the board-2.bin.

Ignore the case with board_id=0, as it means the otp is not carrying
the board id information.

Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/wireless/ath/ath10k/core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index 05de75360fa4..ee638cb8b48f 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -548,8 +548,11 @@ static int ath10k_core_get_board_id_from_otp(struct ath10k *ar)
 		   "boot get otp board id result 0x%08x board_id %d chip_id %d\n",
 		   result, board_id, chip_id);
 
-	if ((result & ATH10K_BMI_BOARD_ID_STATUS_MASK) != 0)
+	if ((result & ATH10K_BMI_BOARD_ID_STATUS_MASK) != 0 ||
+	    (board_id == 0)) {
+		ath10k_warn(ar, "board id is not exist in otp, ignore it\n");
 		return -EOPNOTSUPP;
+	}
 
 	ar->id.bmi_ids_valid = true;
 	ar->id.bmi_board_id = board_id;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 08/28] drm/armada: Fix compile fail
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (6 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 09/28] ath10k: fix incorrect txpower set by P2P_DEVICE interface alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 07/28] net: 3com: typhoon: typhoon_init_one: fix incorrect return values alexander.levin
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Daniel Vetter, Russell King, Chris Wilson, Daniel Vetter,
	alexander.levin

From: Daniel Vetter <daniel.vetter@ffwll.ch>

[ Upstream commit 7357f89954b6d005df6ab8929759e78d7d9a80f9 ]

I reported the include issue for tracepoints a while ago, but nothing
seems to have happened. Now it bit us, since the drm_mm_print
conversion was broken for armada. Fix it, so I can re-enable armada
in the drm-misc build configs.

v2: Rebase just the compile fix on top of Chris' build fix.

Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Acked: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1483115932-19584-1-git-send-email-daniel.vetter@ffwll.ch
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/gpu/drm/armada/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/armada/Makefile b/drivers/gpu/drm/armada/Makefile
index ffd673615772..26412d2f8c98 100644
--- a/drivers/gpu/drm/armada/Makefile
+++ b/drivers/gpu/drm/armada/Makefile
@@ -4,3 +4,5 @@ armada-y	+= armada_510.o
 armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o
 
 obj-$(CONFIG_DRM_ARMADA) := armada.o
+
+CFLAGS_armada_trace.o := -I$(src)
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 07/28] net: 3com: typhoon: typhoon_init_one: fix incorrect return values
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (7 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 08/28] drm/armada: Fix compile fail alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 13/28] ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE alexander.levin
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Thomas Preisner, Milan Stephan, David S . Miller, alexander.levin

From: Thomas Preisner <thomas.preisner+linux@fau.de>

[ Upstream commit 107fded7bf616ad6f46823d98b8ed6405d7adf2d ]

In a few cases the err-variable is not set to a negative error code if a
function call in typhoon_init_one() fails and thus 0 is returned
instead.
It may be better to set err to the appropriate negative error
code before returning.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188841

Reported-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Thomas Preisner <thomas.preisner+linux@fau.de>
Signed-off-by: Milan Stephan <milan.stephan+linux@fau.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/ethernet/3com/typhoon.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index 6d0f0eb2ee2f..a0012c3cb4f6 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -2398,8 +2398,9 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	*(__be16 *)&dev->dev_addr[0] = htons(le16_to_cpu(xp_resp[0].parm1));
 	*(__be32 *)&dev->dev_addr[2] = htonl(le32_to_cpu(xp_resp[0].parm2));
 
-	if(!is_valid_ether_addr(dev->dev_addr)) {
+	if (!is_valid_ether_addr(dev->dev_addr)) {
 		err_msg = "Could not obtain valid ethernet address, aborting";
+		err = -EIO;
 		goto error_out_reset;
 	}
 
@@ -2407,7 +2408,8 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	 * later when we print out the version reported.
 	 */
 	INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_VERSIONS);
-	if(typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
+	err = typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp);
+	if (err < 0) {
 		err_msg = "Could not get Sleep Image version";
 		goto error_out_reset;
 	}
@@ -2449,7 +2451,8 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	dev->features = dev->hw_features |
 		NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_RXCSUM;
 
-	if(register_netdev(dev) < 0) {
+	err = register_netdev(dev);
+	if (err < 0) {
 		err_msg = "unable to register netdev";
 		goto error_out_reset;
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 09/28] ath10k: fix incorrect txpower set by P2P_DEVICE interface
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (5 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 10/28] ath10k: ignore configuring the incorrect board_id alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 08/28] drm/armada: Fix compile fail alexander.levin
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Ryan Hsu, Kalle Valo, alexander.levin

From: Ryan Hsu <ryanhsu@qca.qualcomm.com>

[ Upstream commit 88407beb1b1462f706a1950a355fd086e1c450b6 ]

Ath10k reports the phy capability that supports P2P_DEVICE interface.

When we use the P2P supported wpa_supplicant to start connection, it'll
create two interfaces, one is wlan0 (vdev_id=0) and one is P2P_DEVICE
p2p-dev-wlan0 which is for p2p control channel (vdev_id=1).

	ath10k_pci mac vdev create 0 (add interface) type 2 subtype 0
	ath10k_add_interface: vdev_id: 0, txpower: 0, bss_power: 0
	...
	ath10k_pci mac vdev create 1 (add interface) type 2 subtype 1
	ath10k_add_interface: vdev_id: 1, txpower: 0, bss_power: 0

And the txpower in per vif bss_conf will only be set to valid tx power when
the interface is assigned with channel_ctx.

But this P2P_DEVICE interface will never be used for any connection, so
that the uninitialized bss_conf.txpower=0 is assinged to the
arvif->txpower when interface created.

Since the txpower configuration is firmware per physical interface.
So the smallest txpower of all vifs will be the one limit the tx power
of the physical device, that causing the low txpower issue on other
active interfaces.

	wlan0: Limiting TX power to 21 (24 - 3) dBm
	ath10k_pci mac vdev_id 0 txpower 21
	ath10k_mac_txpower_recalc: vdev_id: 1, txpower: 0
	ath10k_mac_txpower_recalc: vdev_id: 0, txpower: 21
	ath10k_pci mac txpower 0

This issue only happens when we use the wpa_supplicant that supports
P2P or if we use the iw tool to create the control P2P_DEVICE interface.

Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/wireless/ath/ath10k/mac.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 6decf4a95ce1..cf3baf3185e8 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4180,7 +4180,8 @@ static int ath10k_mac_txpower_recalc(struct ath10k *ar)
 	lockdep_assert_held(&ar->conf_mutex);
 
 	list_for_each_entry(arvif, &ar->arvifs, list) {
-		WARN_ON(arvif->txpower < 0);
+		if (arvif->txpower <= 0)
+			continue;
 
 		if (txpower == -1)
 			txpower = arvif->txpower;
@@ -4188,8 +4189,8 @@ static int ath10k_mac_txpower_recalc(struct ath10k *ar)
 			txpower = min(txpower, arvif->txpower);
 	}
 
-	if (WARN_ON(txpower == -1))
-		return -EINVAL;
+	if (txpower == -1)
+		return 0;
 
 	ret = ath10k_mac_txpower_setup(ar, txpower);
 	if (ret) {
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 14/28] drm: Apply range restriction after color adjustment when allocation
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (11 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 11/28] ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 15/28] mac80211: Remove invalid flag operations in mesh TSF synchronization alexander.levin
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Chris Wilson, Daniel Vetter, alexander.levin

From: Chris Wilson <chris@chris-wilson.co.uk>

[ Upstream commit 3db93756b501e5f0a3951c79cfa9ed43c26d3455 ]

mm->color_adjust() compares the hole with its neighbouring nodes. They
only abutt before we restrict the hole, so we have to apply color_adjust
before we apply the range restriction.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161222083641.2691-36-chris@chris-wilson.co.uk
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/gpu/drm/drm_mm.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
index 04de6fd88f8c..521b5bddb99c 100644
--- a/drivers/gpu/drm/drm_mm.c
+++ b/drivers/gpu/drm/drm_mm.c
@@ -262,14 +262,12 @@ static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node,
 
 	BUG_ON(!hole_node->hole_follows || node->allocated);
 
-	if (adj_start < start)
-		adj_start = start;
-	if (adj_end > end)
-		adj_end = end;
-
 	if (mm->color_adjust)
 		mm->color_adjust(hole_node, color, &adj_start, &adj_end);
 
+	adj_start = max(adj_start, start);
+	adj_end = min(adj_end, end);
+
 	if (flags & DRM_MM_CREATE_TOP)
 		adj_start = adj_end - size;
 
@@ -475,17 +473,15 @@ static struct drm_mm_node *drm_mm_search_free_in_range_generic(const struct drm_
 			       flags & DRM_MM_SEARCH_BELOW) {
 		u64 hole_size = adj_end - adj_start;
 
-		if (adj_start < start)
-			adj_start = start;
-		if (adj_end > end)
-			adj_end = end;
-
 		if (mm->color_adjust) {
 			mm->color_adjust(entry, color, &adj_start, &adj_end);
 			if (adj_end <= adj_start)
 				continue;
 		}
 
+		adj_start = max(adj_start, start);
+		adj_end = min(adj_end, end);
+
 		if (!check_free_hole(adj_start, adj_end, size, alignment))
 			continue;
 
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 11/28] ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats()
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (10 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 12/28] ath10k: set CTS protection VDEV param only if VDEV is up alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 14/28] drm: Apply range restriction after color adjustment when allocation alexander.levin
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Christian Lamparter, Kalle Valo, alexander.levin

From: Christian Lamparter <chunkeey@googlemail.com>

[ Upstream commit 097e46d2ae90265d1afe141ba6208ba598b79e01 ]

ath10k_wmi_tlv_op_pull_fw_stats() uses tb = ath10k_wmi_tlv_parse_alloc(...)
function, which allocates memory. If any of the three error-paths are
taken, this tb needs to be freed.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/wireless/ath/ath10k/wmi-tlv.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
index 6fbd17b69469..02eea3c3b5d3 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
@@ -1105,8 +1105,10 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar,
 		struct ath10k_fw_stats_pdev *dst;
 
 		src = data;
-		if (data_len < sizeof(*src))
+		if (data_len < sizeof(*src)) {
+			kfree(tb);
 			return -EPROTO;
+		}
 
 		data += sizeof(*src);
 		data_len -= sizeof(*src);
@@ -1126,8 +1128,10 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar,
 		struct ath10k_fw_stats_vdev *dst;
 
 		src = data;
-		if (data_len < sizeof(*src))
+		if (data_len < sizeof(*src)) {
+			kfree(tb);
 			return -EPROTO;
+		}
 
 		data += sizeof(*src);
 		data_len -= sizeof(*src);
@@ -1145,8 +1149,10 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar,
 		struct ath10k_fw_stats_peer *dst;
 
 		src = data;
-		if (data_len < sizeof(*src))
+		if (data_len < sizeof(*src)) {
+			kfree(tb);
 			return -EPROTO;
+		}
 
 		data += sizeof(*src);
 		data_len -= sizeof(*src);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 12/28] ath10k: set CTS protection VDEV param only if VDEV is up
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (9 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 13/28] ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 11/28] ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() alexander.levin
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Bartosz Markowski, Kalle Valo, alexander.levin

From: Bartosz Markowski <bartosz.markowski@tieto.com>

[ Upstream commit 7cfe0455ee1218add152e986b89b4bb8dbeafcdd ]

The cts protection vdev parameter, in new QCA9377 TF2.0 firmware,
requires bss peer to be created for the STATION vdev type.
bss peer is being allocated by the firmware after vdev_start/_up commands.
mac80211 may call the cts protection setup at any time, so the
we needs to track the situation and defer the cts configuration
to prevent firmware asserts, like below:

[00]: 0x05020001 0x000015B3 0x0099ACE2 0x00955B31
[04]: 0x0099ACE2 0x00060730 0x00000004 0x00000000
[08]: 0x0044C754 0x00412C10 0x00000000 0x00409C54
[12]: 0x00000009 0x00000000 0x00952F6C 0x00952F77
[16]: 0x00952CC4 0x00910712 0x00000000 0x00000000
[20]: 0x4099ACE2 0x0040E858 0x00421254 0x004127F4
[24]: 0x8099B9B2 0x0040E8B8 0x00000000 0xC099ACE2
[28]: 0x800B75CB 0x0040E8F8 0x00000007 0x00005008
[32]: 0x809B048A 0x0040E958 0x00000010 0x00433B10
[36]: 0x809AFBBC 0x0040E9A8 0x0042BB74 0x0042BBBC
[40]: 0x8091D252 0x0040E9C8 0x0042BBBC 0x00000001
[44]: 0x809FFA45 0x0040EA78 0x0043D3E4 0x0042C2C8
[48]: 0x809FCEF4 0x0040EA98 0x0043D3E4 0x00000001
[52]: 0x80911210 0x0040EAE8 0x00000010 0x004041D0
[56]: 0x80911154 0x0040EB28 0x00400000 0x00000000

Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/net/wireless/ath/ath10k/mac.c | 51 +++++++++++++++++++++++++++++------
 1 file changed, 43 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index cf3baf3185e8..bed8d89fe3a0 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1127,6 +1127,36 @@ static int ath10k_monitor_recalc(struct ath10k *ar)
 		return ath10k_monitor_stop(ar);
 }
 
+static bool ath10k_mac_can_set_cts_prot(struct ath10k_vif *arvif)
+{
+	struct ath10k *ar = arvif->ar;
+
+	lockdep_assert_held(&ar->conf_mutex);
+
+	if (!arvif->is_started) {
+		ath10k_dbg(ar, ATH10K_DBG_MAC, "defer cts setup, vdev is not ready yet\n");
+		return false;
+	}
+
+	return true;
+}
+
+static int ath10k_mac_set_cts_prot(struct ath10k_vif *arvif)
+{
+	struct ath10k *ar = arvif->ar;
+	u32 vdev_param;
+
+	lockdep_assert_held(&ar->conf_mutex);
+
+	vdev_param = ar->wmi.vdev_param->protection_mode;
+
+	ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d cts_protection %d\n",
+		   arvif->vdev_id, arvif->use_cts_prot);
+
+	return ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
+					 arvif->use_cts_prot ? 1 : 0);
+}
+
 static int ath10k_recalc_rtscts_prot(struct ath10k_vif *arvif)
 {
 	struct ath10k *ar = arvif->ar;
@@ -4788,20 +4818,18 @@ static void ath10k_bss_info_changed(struct ieee80211_hw *hw,
 
 	if (changed & BSS_CHANGED_ERP_CTS_PROT) {
 		arvif->use_cts_prot = info->use_cts_prot;
-		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac vdev %d cts_prot %d\n",
-			   arvif->vdev_id, info->use_cts_prot);
 
 		ret = ath10k_recalc_rtscts_prot(arvif);
 		if (ret)
 			ath10k_warn(ar, "failed to recalculate rts/cts prot for vdev %d: %d\n",
 				    arvif->vdev_id, ret);
 
-		vdev_param = ar->wmi.vdev_param->protection_mode;
-		ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
-						info->use_cts_prot ? 1 : 0);
-		if (ret)
-			ath10k_warn(ar, "failed to set protection mode %d on vdev %i: %d\n",
-				    info->use_cts_prot, arvif->vdev_id, ret);
+		if (ath10k_mac_can_set_cts_prot(arvif)) {
+			ret = ath10k_mac_set_cts_prot(arvif);
+			if (ret)
+				ath10k_warn(ar, "failed to set cts protection for vdev %d: %d\n",
+					    arvif->vdev_id, ret);
+		}
 	}
 
 	if (changed & BSS_CHANGED_ERP_SLOT) {
@@ -6713,6 +6741,13 @@ ath10k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw,
 		arvif->is_up = true;
 	}
 
+	if (ath10k_mac_can_set_cts_prot(arvif)) {
+		ret = ath10k_mac_set_cts_prot(arvif);
+		if (ret)
+			ath10k_warn(ar, "failed to set cts protection for vdev %d: %d\n",
+				    arvif->vdev_id, ret);
+	}
+
 	mutex_unlock(&ar->conf_mutex);
 	return 0;
 
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 13/28] ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (8 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 07/28] net: 3com: typhoon: typhoon_init_one: fix incorrect return values alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 12/28] ath10k: set CTS protection VDEV param only if VDEV is up alexander.levin
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Gabriele Mazzotta, Takashi Iwai, alexander.levin

From: Gabriele Mazzotta <gabriele.mzt@gmail.com>

[ Upstream commit 972aa2c708703c21f14eb958b37e82aae2530e44 ]

Setting shutup when the action is HDA_FIXUP_ACT_PRE_PROBE might
not have the desired effect since it could be overridden by
another more generic shutup function. Prevent this by setting
the more specific shutup function on HDA_FIXUP_ACT_PROBE.

Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 sound/pci/hda/patch_realtek.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index a83688f8672e..a4f71ab09b49 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4396,7 +4396,7 @@ static void alc_no_shutup(struct hda_codec *codec)
 static void alc_fixup_no_shutup(struct hda_codec *codec,
 				const struct hda_fixup *fix, int action)
 {
-	if (action == HDA_FIXUP_ACT_PRE_PROBE) {
+	if (action == HDA_FIXUP_ACT_PROBE) {
 		struct alc_spec *spec = codec->spec;
 		spec->shutup = alc_no_shutup;
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 16/28] mac80211: Suppress NEW_PEER_CANDIDATE event if no room
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (13 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 15/28] mac80211: Remove invalid flag operations in mesh TSF synchronization alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 19/28] staging: iio: cdc: fix improper return value alexander.levin
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Masashi Honma, Johannes Berg, alexander.levin

From: Masashi Honma <masashi.honma@gmail.com>

[ Upstream commit 11197d006bcfabf0173a7820a163fcaac420d10e ]

Previously, kernel sends NEW_PEER_CANDIDATE event to user land even if
the found peer does not have any room to accept other peer. This causes
continuous connection trials.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/mac80211/mesh_plink.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index bd3d55eb21d4..9f02e54ad2a5 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -495,12 +495,14 @@ mesh_sta_info_alloc(struct ieee80211_sub_if_data *sdata, u8 *addr,
 
 	/* Userspace handles station allocation */
 	if (sdata->u.mesh.user_mpm ||
-	    sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED)
-		cfg80211_notify_new_peer_candidate(sdata->dev, addr,
-						   elems->ie_start,
-						   elems->total_len,
-						   GFP_KERNEL);
-	else
+	    sdata->u.mesh.security & IEEE80211_MESH_SEC_AUTHED) {
+		if (mesh_peer_accepts_plinks(elems) &&
+		    mesh_plink_availables(sdata))
+			cfg80211_notify_new_peer_candidate(sdata->dev, addr,
+							   elems->ie_start,
+							   elems->total_len,
+							   GFP_KERNEL);
+	} else
 		sta = __mesh_sta_info_alloc(sdata, addr);
 
 	return sta;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 18/28] iio: light: fix improper return value
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (15 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 19/28] staging: iio: cdc: fix improper return value alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 17/28] drm/i915: Fix the level 0 max_wm hack on VLV/CHV alexander.levin
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Pan Bian, Jonathan Cameron, alexander.levin

From: Pan Bian <bianpan2016@163.com>

[ Upstream commit db4e5376d058af8924fafd0520a0942d92538d0e ]

In function cm3232_reg_init(), it returns 0 even if the last call to
i2c_smbus_write_byte_data() returns a negative value (indicates error).
As a result, the return value may be inconsistent with the execution
status, and the caller of cm3232_reg_init() will not be able to detect
the error. This patch fixes the bug.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188641

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/iio/light/cm3232.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/light/cm3232.c b/drivers/iio/light/cm3232.c
index fe89b6823217..263e97235ea0 100644
--- a/drivers/iio/light/cm3232.c
+++ b/drivers/iio/light/cm3232.c
@@ -119,7 +119,7 @@ static int cm3232_reg_init(struct cm3232_chip *chip)
 	if (ret < 0)
 		dev_err(&chip->client->dev, "Error writing reg_cmd\n");
 
-	return 0;
+	return ret;
 }
 
 /**
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 15/28] mac80211: Remove invalid flag operations in mesh TSF synchronization
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (12 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 14/28] drm: Apply range restriction after color adjustment when allocation alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 16/28] mac80211: Suppress NEW_PEER_CANDIDATE event if no room alexander.levin
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Masashi Honma, Johannes Berg, alexander.levin

From: Masashi Honma <masashi.honma@gmail.com>

[ Upstream commit 76f43b4c0a9337af22827d78de4f2b8fd5328489 ]

mesh_sync_offset_adjust_tbtt() implements Extensible synchronization
framework ([1] 13.13.2 Extensible synchronization framework). It shall
not operate the flag "TBTT Adjusting subfield" ([1] 8.4.2.100.8 Mesh
Capability), since it is used only for MBCA ([1] 13.13.4 Mesh beacon
collision avoidance, see 13.13.4.4.3 TBTT scanning and adjustment
procedures for detail). So this patch remove the flag operations.

[1] IEEE Std 802.11 2012

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
[remove adjusting_tbtt entirely, since it's now unused]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/mac80211/ieee80211_i.h |  1 -
 net/mac80211/mesh.c        |  3 ---
 net/mac80211/mesh_sync.c   | 11 -----------
 3 files changed, 15 deletions(-)

diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 6837a46ca4a2..7b271f3ded6b 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -682,7 +682,6 @@ struct ieee80211_if_mesh {
 	const struct ieee80211_mesh_sync_ops *sync_ops;
 	s64 sync_offset_clockdrift_max;
 	spinlock_t sync_offset_lock;
-	bool adjusting_tbtt;
 	/* mesh power save */
 	enum nl80211_mesh_power_mode nonpeer_pm;
 	int ps_peers_light_sleep;
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index 9063e8e736ad..9e1ded80a992 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -295,8 +295,6 @@ int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
 	/* Mesh PS mode. See IEEE802.11-2012 8.4.2.100.8 */
 	*pos |= ifmsh->ps_peers_deep_sleep ?
 			IEEE80211_MESHCONF_CAPAB_POWER_SAVE_LEVEL : 0x00;
-	*pos++ |= ifmsh->adjusting_tbtt ?
-			IEEE80211_MESHCONF_CAPAB_TBTT_ADJUSTING : 0x00;
 	*pos++ = 0x00;
 
 	return 0;
@@ -866,7 +864,6 @@ int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata)
 	ifmsh->mesh_cc_id = 0;	/* Disabled */
 	/* register sync ops from extensible synchronization framework */
 	ifmsh->sync_ops = ieee80211_mesh_sync_ops_get(ifmsh->mesh_sp_id);
-	ifmsh->adjusting_tbtt = false;
 	ifmsh->sync_offset_clockdrift_max = 0;
 	set_bit(MESH_WORK_HOUSEKEEPING, &ifmsh->wrkq_flags);
 	ieee80211_mesh_root_setup(ifmsh);
diff --git a/net/mac80211/mesh_sync.c b/net/mac80211/mesh_sync.c
index 64bc22ad9496..16ed43fe4841 100644
--- a/net/mac80211/mesh_sync.c
+++ b/net/mac80211/mesh_sync.c
@@ -119,7 +119,6 @@ static void mesh_sync_offset_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
 	 */
 
 	if (elems->mesh_config && mesh_peer_tbtt_adjusting(elems)) {
-		clear_sta_flag(sta, WLAN_STA_TOFFSET_KNOWN);
 		msync_dbg(sdata, "STA %pM : is adjusting TBTT\n",
 			  sta->sta.addr);
 		goto no_sync;
@@ -168,11 +167,9 @@ static void mesh_sync_offset_adjust_tbtt(struct ieee80211_sub_if_data *sdata,
 					 struct beacon_data *beacon)
 {
 	struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
-	u8 cap;
 
 	WARN_ON(ifmsh->mesh_sp_id != IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET);
 	WARN_ON(!rcu_read_lock_held());
-	cap = beacon->meshconf->meshconf_cap;
 
 	spin_lock_bh(&ifmsh->sync_offset_lock);
 
@@ -186,21 +183,13 @@ static void mesh_sync_offset_adjust_tbtt(struct ieee80211_sub_if_data *sdata,
 			  "TBTT : kicking off TBTT adjustment with clockdrift_max=%lld\n",
 			  ifmsh->sync_offset_clockdrift_max);
 		set_bit(MESH_WORK_DRIFT_ADJUST, &ifmsh->wrkq_flags);
-
-		ifmsh->adjusting_tbtt = true;
 	} else {
 		msync_dbg(sdata,
 			  "TBTT : max clockdrift=%lld; too small to adjust\n",
 			  (long long)ifmsh->sync_offset_clockdrift_max);
 		ifmsh->sync_offset_clockdrift_max = 0;
-
-		ifmsh->adjusting_tbtt = false;
 	}
 	spin_unlock_bh(&ifmsh->sync_offset_lock);
-
-	beacon->meshconf->meshconf_cap = ifmsh->adjusting_tbtt ?
-			IEEE80211_MESHCONF_CAPAB_TBTT_ADJUSTING | cap :
-			~IEEE80211_MESHCONF_CAPAB_TBTT_ADJUSTING & cap;
 }
 
 static const struct sync_method sync_methods[] = {
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 19/28] staging: iio: cdc: fix improper return value
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (14 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 16/28] mac80211: Suppress NEW_PEER_CANDIDATE event if no room alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 18/28] iio: light: " alexander.levin
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Pan Bian, Jonathan Cameron, alexander.levin

From: Pan Bian <bianpan2016@163.com>

[ Upstream commit 91ca1a8c584f55857b1f6ab20a1d3a1ce7a559bb ]

At the end of function ad7150_write_event_config(), directly returns 0.
As a result, the errors will be ignored by the callers. It may be better
to return variable "ret".

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/staging/iio/cdc/ad7150.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c
index e8d0ff2d5c9b..808d6ebf6c94 100644
--- a/drivers/staging/iio/cdc/ad7150.c
+++ b/drivers/staging/iio/cdc/ad7150.c
@@ -272,7 +272,7 @@ static int ad7150_write_event_config(struct iio_dev *indio_dev,
 error_ret:
 	mutex_unlock(&chip->state_lock);
 
-	return 0;
+	return ret;
 }
 
 static int ad7150_read_event_value(struct iio_dev *indio_dev,
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 17/28] drm/i915: Fix the level 0 max_wm hack on VLV/CHV
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (16 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 18/28] iio: light: " alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 23/28] netfilter: nf_tables: fix oob access alexander.levin
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Ville Syrjälä, alexander.levin

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

[ Upstream commit 1be4d3793d5a93daddcd9be657c429b38ad750a3 ]

The watermark should never exceed the FIFO size, so we need to
check against the current FIFO size instead of the theoretical
maximum when we clamp the level 0 watermark.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1480354637-14209-4-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/gpu/drm/i915/intel_pm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index fd4690ed93c0..0cad45928431 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -1100,13 +1100,13 @@ static void vlv_compute_wm(struct intel_crtc *crtc)
 		/* normal watermarks */
 		for (level = 0; level < wm_state->num_levels; level++) {
 			int wm = vlv_compute_wm_level(plane, crtc, state, level);
-			int max_wm = plane->base.type == DRM_PLANE_TYPE_CURSOR ? 63 : 511;
+			int max_wm = plane->wm.fifo_size;
 
 			/* hack */
 			if (WARN_ON(level == 0 && wm > max_wm))
 				wm = max_wm;
 
-			if (wm > plane->wm.fifo_size)
+			if (wm > max_wm)
 				break;
 
 			switch (plane->base.type) {
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 21/28] spi: SPI_FSL_DSPI should depend on HAS_DMA
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (19 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 20/28] drm/i915/bxt: Correct dual-link MIPI port control alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 22/28] netfilter: nft_queue: use raw_smp_processor_id() alexander.levin
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Geert Uytterhoeven, Mark Brown, alexander.levin

From: Geert Uytterhoeven <geert@linux-m68k.org>

[ Upstream commit dadab2d4e3cf708ceba22ecddd94aedfecb39199 ]

If NO_DMA=y:

    ERROR: "bad_dma_ops" [drivers/spi/spi-fsl-dspi.ko] undefined!

Add a dependency on HAS_DMA to fix this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/spi/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 8b9c2a38d1cc..b0a24dedd1ed 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -315,6 +315,7 @@ config SPI_FSL_SPI
 config SPI_FSL_DSPI
 	tristate "Freescale DSPI controller"
 	select REGMAP_MMIO
+	depends on HAS_DMA
 	depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
 	help
 	  This enables support for the Freescale DSPI controller in master
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 23/28] netfilter: nf_tables: fix oob access
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (17 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 17/28] drm/i915: Fix the level 0 max_wm hack on VLV/CHV alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 20/28] drm/i915/bxt: Correct dual-link MIPI port control alexander.levin
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Florian Westphal, Pablo Neira Ayuso, alexander.levin

From: Florian Westphal <fw@strlen.de>

[ Upstream commit 3e38df136e453aa69eb4472108ebce2fb00b1ba6 ]

BUG: KASAN: slab-out-of-bounds in nf_tables_rule_destroy+0xf1/0x130 at addr ffff88006a4c35c8
Read of size 8 by task nft/1607

When we've destroyed last valid expr, nft_expr_next() returns an invalid expr.
We must not dereference it unless it passes != nft_expr_last() check.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/netfilter/nf_tables_api.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 2cb429d34c03..120e9ae04db3 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -1996,7 +1996,7 @@ static void nf_tables_rule_destroy(const struct nft_ctx *ctx,
 	 * is called on error from nf_tables_newrule().
 	 */
 	expr = nft_expr_first(rule);
-	while (expr->ops && expr != nft_expr_last(rule)) {
+	while (expr != nft_expr_last(rule) && expr->ops) {
 		nf_tables_expr_destroy(ctx, expr);
 		expr = nft_expr_next(expr);
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 20/28] drm/i915/bxt: Correct dual-link MIPI port control.
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (18 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 23/28] netfilter: nf_tables: fix oob access alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 21/28] spi: SPI_FSL_DSPI should depend on HAS_DMA alexander.levin
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Bob Paauwe, Ville Syrjälä, alexander.levin

From: Bob Paauwe <bob.j.paauwe@intel.com>

[ Upstream commit 812b1d2fe527c3c68d04f379aef850dd02db5945 ]

For BXT, there is only one bit that enables/disables dual-link mode
and not different bits depending on which pipe is being used.

Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1479767046-3964-1-git-send-email-bob.j.paauwe@intel.com
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/gpu/drm/i915/intel_dsi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 170ae6f4866e..93d6f43e4a59 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -400,7 +400,10 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder)
 		if (intel_dsi->ports == ((1 << PORT_A) | (1 << PORT_C))) {
 			temp |= (intel_dsi->dual_link - 1)
 						<< DUAL_LINK_MODE_SHIFT;
-			temp |= intel_crtc->pipe ?
+			if (IS_BROXTON(dev_priv))
+				temp |= LANE_CONFIGURATION_DUAL_LINK_A;
+			else
+				temp |= intel_crtc->pipe ?
 					LANE_CONFIGURATION_DUAL_LINK_B :
 					LANE_CONFIGURATION_DUAL_LINK_A;
 		}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 22/28] netfilter: nft_queue: use raw_smp_processor_id()
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (20 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 21/28] spi: SPI_FSL_DSPI should depend on HAS_DMA alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 25/28] btrfs: return the actual error value from from btrfs_uuid_tree_iterate alexander.levin
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Pablo Neira Ayuso, alexander.levin

From: Pablo Neira Ayuso <pablo@netfilter.org>

[ Upstream commit c2e756ff9e699865d294cdc112acfc36419cf5cc ]

Using smp_processor_id() causes splats with PREEMPT_RCU:

[19379.552780] BUG: using smp_processor_id() in preemptible [00000000] code: ping/32389
[19379.552793] caller is debug_smp_processor_id+0x17/0x19
[...]
[19379.552823] Call Trace:
[19379.552832]  [<ffffffff81274e9e>] dump_stack+0x67/0x90
[19379.552837]  [<ffffffff8129a4d4>] check_preemption_disabled+0xe5/0xf5
[19379.552842]  [<ffffffff8129a4fb>] debug_smp_processor_id+0x17/0x19
[19379.552849]  [<ffffffffa07c42dd>] nft_queue_eval+0x35/0x20c [nft_queue]

No need to disable preemption since we only fetch the numeric value, so
let's use raw_smp_processor_id() instead.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 net/netfilter/nft_queue.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/nft_queue.c b/net/netfilter/nft_queue.c
index 61d216eb7917..5d189c11d208 100644
--- a/net/netfilter/nft_queue.c
+++ b/net/netfilter/nft_queue.c
@@ -37,7 +37,7 @@ static void nft_queue_eval(const struct nft_expr *expr,
 
 	if (priv->queues_total > 1) {
 		if (priv->flags & NFT_QUEUE_FLAG_CPU_FANOUT) {
-			int cpu = smp_processor_id();
+			int cpu = raw_smp_processor_id();
 
 			queue = priv->queuenum + cpu % priv->queues_total;
 		} else {
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 27/28] s390/kbuild: enable modversions for symbols exported from asm
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (23 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 26/28] ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 24/28] ASoC: rsnd: don't double free kctrl alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 28/28] xen: xenbus driver must not accept invalid transaction ids alexander.levin
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Heiko Carstens, Martin Schwidefsky, alexander.levin

From: Heiko Carstens <heiko.carstens@de.ibm.com>

[ Upstream commit cabab3f9f5ca077535080b3252e6168935b914af ]

s390 version of commit 334bb7738764 ("x86/kbuild: enable modversions
for symbols exported from asm") so we get also rid of all these
warnings:

WARNING: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "memcpy" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "memmove" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "memset" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "save_fpu_regs" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "sie64a" [vmlinux] version generation failed, symbol will not be versioned.
WARNING: EXPORT symbol "sie_exit" [vmlinux] version generation failed, symbol will not be versioned.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 arch/s390/include/asm/asm-prototypes.h | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 arch/s390/include/asm/asm-prototypes.h

diff --git a/arch/s390/include/asm/asm-prototypes.h b/arch/s390/include/asm/asm-prototypes.h
new file mode 100644
index 000000000000..2c3413b0ca52
--- /dev/null
+++ b/arch/s390/include/asm/asm-prototypes.h
@@ -0,0 +1,8 @@
+#ifndef _ASM_S390_PROTOTYPES_H
+
+#include <linux/kvm_host.h>
+#include <linux/ftrace.h>
+#include <asm/fpu/api.h>
+#include <asm-generic/asm-prototypes.h>
+
+#endif /* _ASM_S390_PROTOTYPES_H */
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 25/28] btrfs: return the actual error value from  from btrfs_uuid_tree_iterate
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (21 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 22/28] netfilter: nft_queue: use raw_smp_processor_id() alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 26/28] ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data alexander.levin
                   ` (3 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Pan Bian, David Sterba, alexander.levin

From: Pan Bian <bianpan2016@163.com>

[ Upstream commit 73ba39ab9307340dc98ec3622891314bbc09cc2e ]

In function btrfs_uuid_tree_iterate(), errno is assigned to variable ret
on errors. However, it directly returns 0. It may be better to return
ret. This patch also removes the warning, because the caller already
prints a warning.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188731
Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Omar Sandoval <osandov@fb.com>
[ edited subject ]
Signed-off-by: David Sterba <dsterba@suse.com>

Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 fs/btrfs/uuid-tree.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/btrfs/uuid-tree.c b/fs/btrfs/uuid-tree.c
index 778282944530..837a9a8d579e 100644
--- a/fs/btrfs/uuid-tree.c
+++ b/fs/btrfs/uuid-tree.c
@@ -348,7 +348,5 @@ int btrfs_uuid_tree_iterate(struct btrfs_fs_info *fs_info,
 
 out:
 	btrfs_free_path(path);
-	if (ret)
-		btrfs_warn(fs_info, "btrfs_uuid_tree_iterate failed %d", ret);
-	return 0;
+	return ret;
 }
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 26/28] ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (22 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 25/28] btrfs: return the actual error value from from btrfs_uuid_tree_iterate alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 27/28] s390/kbuild: enable modversions for symbols exported from asm alexander.levin
                   ` (2 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Richard Fitzgerald, Mark Brown, alexander.levin

From: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>

[ Upstream commit 1cab2a84f470e15ecc8e5143bfe9398c6e888032 ]

Protect against corrupt firmware files by ensuring that the length we
get for the data in a region actually lies within the available firmware
file data buffer.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 sound/soc/codecs/wm_adsp.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index 0bb415a28723..f1f990b325ad 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -1060,7 +1060,7 @@ static int wm_adsp_load(struct wm_adsp *dsp)
 	const struct wmfw_region *region;
 	const struct wm_adsp_region *mem;
 	const char *region_name;
-	char *file, *text;
+	char *file, *text = NULL;
 	struct wm_adsp_buf *buf;
 	unsigned int reg;
 	int regions = 0;
@@ -1221,10 +1221,21 @@ static int wm_adsp_load(struct wm_adsp *dsp)
 			 regions, le32_to_cpu(region->len), offset,
 			 region_name);
 
+		if ((pos + le32_to_cpu(region->len) + sizeof(*region)) >
+		    firmware->size) {
+			adsp_err(dsp,
+				 "%s.%d: %s region len %d bytes exceeds file length %zu\n",
+				 file, regions, region_name,
+				 le32_to_cpu(region->len), firmware->size);
+			ret = -EINVAL;
+			goto out_fw;
+		}
+
 		if (text) {
 			memcpy(text, region->data, le32_to_cpu(region->len));
 			adsp_info(dsp, "%s: %s\n", file, text);
 			kfree(text);
+			text = NULL;
 		}
 
 		if (reg) {
@@ -1269,6 +1280,7 @@ static int wm_adsp_load(struct wm_adsp *dsp)
 	regmap_async_complete(regmap);
 	wm_adsp_buf_free(&buf_list);
 	release_firmware(firmware);
+	kfree(text);
 out:
 	kfree(file);
 
@@ -1730,6 +1742,17 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
 		}
 
 		if (reg) {
+			if ((pos + le32_to_cpu(blk->len) + sizeof(*blk)) >
+			    firmware->size) {
+				adsp_err(dsp,
+					 "%s.%d: %s region len %d bytes exceeds file length %zu\n",
+					 file, blocks, region_name,
+					 le32_to_cpu(blk->len),
+					 firmware->size);
+				ret = -EINVAL;
+				goto out_fw;
+			}
+
 			buf = wm_adsp_buf_alloc(blk->data,
 						le32_to_cpu(blk->len),
 						&buf_list);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 24/28] ASoC: rsnd: don't double free kctrl
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (24 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 27/28] s390/kbuild: enable modversions for symbols exported from asm alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 28/28] xen: xenbus driver must not accept invalid transaction ids alexander.levin
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Colin Ian King, Mark Brown, alexander.levin

From: Colin Ian King <colin.king@canonical.com>

[ Upstream commit 0ea617a298dcdc2251b4e10f83ac3f3e627b66e3 ]

On an error, snd_ctl_add already free's kctrl, so calling snd_ctl_free_one
to free it again leads to a double free error.  Fix this by removing
the extraneous snd_ctl_free_one call.

Issue found using static analysis with CoverityScan, CID 1372908

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 sound/soc/sh/rcar/core.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index 362446c36c9e..e00dfbec22c5 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -1049,10 +1049,8 @@ static int __rsnd_kctrl_new(struct rsnd_mod *mod,
 		return -ENOMEM;
 
 	ret = snd_ctl_add(card, kctrl);
-	if (ret < 0) {
-		snd_ctl_free_one(kctrl);
+	if (ret < 0)
 		return ret;
-	}
 
 	cfg->update = update;
 	cfg->card = card;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH AUTOSEL for 4.4 28/28] xen: xenbus driver must not accept invalid transaction ids
  2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
                   ` (25 preceding siblings ...)
  2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 24/28] ASoC: rsnd: don't double free kctrl alexander.levin
@ 2017-11-15  2:46 ` alexander.levin
  26 siblings, 0 replies; 28+ messages in thread
From: alexander.levin @ 2017-11-15  2:46 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Juergen Gross, alexander.levin

From: Juergen Gross <jgross@suse.com>

[ Upstream commit 639b08810d6ad74ded2c5f6e233c4fcb9d147168 ]

When accessing Xenstore in a transaction the user is specifying a
transaction id which he normally obtained from Xenstore when starting
the transaction. Xenstore is validating a transaction id against all
known transaction ids of the connection the request came in. As all
requests of a domain not being the one where Xenstore lives share
one connection, validation of transaction ids of different users of
Xenstore in that domain should be done by the kernel of that domain
being the multiplexer between the Xenstore users in that domain and
Xenstore.

In order to prohibit one Xenstore user "hijacking" a transaction from
another user the xenbus driver has to verify a given transaction id
against all known transaction ids of the user before forwarding it to
Xenstore.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/xen/xenbus/xenbus_dev_frontend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 0e0eb10f82a0..816a0e08ef10 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -316,7 +316,7 @@ static int xenbus_write_transaction(unsigned msg_type,
 			rc = -ENOMEM;
 			goto out;
 		}
-	} else if (msg_type == XS_TRANSACTION_END) {
+	} else if (u->u.msg.tx_id != 0) {
 		list_for_each_entry(trans, &u->transactions, list)
 			if (trans->handle.id == u->u.msg.tx_id)
 				break;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-11-15  3:06 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-15  2:45 [PATCH AUTOSEL for 4.4 01/28] ACPICA: Resources: Not a valid resource if buffer length too long alexander.levin
2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 02/28] RDS: RDMA: return appropriate error on rdma map failures alexander.levin
2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 06/28] net: 3com: typhoon: typhoon_init_one: make return values more specific alexander.levin
2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 05/28] net: Allow IP_MULTICAST_IF to set index to L3 slave alexander.levin
2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 03/28] PCI: Apply _HPX settings only to relevant devices alexander.levin
2017-11-15  2:45 ` [PATCH AUTOSEL for 4.4 04/28] dmaengine: zx: set DMA_CYCLIC cap_mask bit alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 10/28] ath10k: ignore configuring the incorrect board_id alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 09/28] ath10k: fix incorrect txpower set by P2P_DEVICE interface alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 08/28] drm/armada: Fix compile fail alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 07/28] net: 3com: typhoon: typhoon_init_one: fix incorrect return values alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 13/28] ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 12/28] ath10k: set CTS protection VDEV param only if VDEV is up alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 11/28] ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 14/28] drm: Apply range restriction after color adjustment when allocation alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 15/28] mac80211: Remove invalid flag operations in mesh TSF synchronization alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 16/28] mac80211: Suppress NEW_PEER_CANDIDATE event if no room alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 19/28] staging: iio: cdc: fix improper return value alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 18/28] iio: light: " alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 17/28] drm/i915: Fix the level 0 max_wm hack on VLV/CHV alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 23/28] netfilter: nf_tables: fix oob access alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 20/28] drm/i915/bxt: Correct dual-link MIPI port control alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 21/28] spi: SPI_FSL_DSPI should depend on HAS_DMA alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 22/28] netfilter: nft_queue: use raw_smp_processor_id() alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 25/28] btrfs: return the actual error value from from btrfs_uuid_tree_iterate alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 26/28] ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 27/28] s390/kbuild: enable modversions for symbols exported from asm alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 24/28] ASoC: rsnd: don't double free kctrl alexander.levin
2017-11-15  2:46 ` [PATCH AUTOSEL for 4.4 28/28] xen: xenbus driver must not accept invalid transaction ids alexander.levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).