--- /dev/null
+From edb2c9dd3948738ef030c32b948543e84f4d3f81 Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <wsa+renesas@sang-engineering.com>
+Date: Fri, 27 Mar 2020 23:28:26 +0100
+Subject: i2c: altera: use proper variable to hold errno
+
+From: Wolfram Sang <wsa+renesas@sang-engineering.com>
+
+commit edb2c9dd3948738ef030c32b948543e84f4d3f81 upstream.
+
+device_property_read_u32() returns errno or 0, so we should use the
+integer variable 'ret' and not the u32 'val' to hold the retval.
+
+Fixes: 0560ad576268 ("i2c: altera: Add Altera I2C Controller driver")
+Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
+Reviewed-by: Thor Thayer <thor.thayer@linux.intel.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/i2c/busses/i2c-altera.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/drivers/i2c/busses/i2c-altera.c
++++ b/drivers/i2c/busses/i2c-altera.c
+@@ -395,7 +395,6 @@ static int altr_i2c_probe(struct platfor
+ struct altr_i2c_dev *idev = NULL;
+ struct resource *res;
+ int irq, ret;
+- u32 val;
+
+ idev = devm_kzalloc(&pdev->dev, sizeof(*idev), GFP_KERNEL);
+ if (!idev)
+@@ -422,17 +421,17 @@ static int altr_i2c_probe(struct platfor
+ init_completion(&idev->msg_complete);
+ spin_lock_init(&idev->lock);
+
+- val = device_property_read_u32(idev->dev, "fifo-size",
++ ret = device_property_read_u32(idev->dev, "fifo-size",
+ &idev->fifo_size);
+- if (val) {
++ if (ret) {
+ dev_err(&pdev->dev, "FIFO size set to default of %d\n",
+ ALTR_I2C_DFLT_FIFO_SZ);
+ idev->fifo_size = ALTR_I2C_DFLT_FIFO_SZ;
+ }
+
+- val = device_property_read_u32(idev->dev, "clock-frequency",
++ ret = device_property_read_u32(idev->dev, "clock-frequency",
+ &idev->bus_clk_rate);
+- if (val) {
++ if (ret) {
+ dev_err(&pdev->dev, "Default to 100kHz\n");
+ idev->bus_clk_rate = 100000; /* default clock rate */
+ }
--- /dev/null
+From c799fca8baf18d1bbbbad6c3b736eefbde8bdb90 Mon Sep 17 00:00:00 2001
+From: Jason Gunthorpe <jgg@ziepe.ca>
+Date: Tue, 14 Apr 2020 12:27:08 -0300
+Subject: net/cxgb4: Check the return from t4_query_params properly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Jason Gunthorpe <jgg@mellanox.com>
+
+commit c799fca8baf18d1bbbbad6c3b736eefbde8bdb90 upstream.
+
+Positive return values are also failures that don't set val,
+although this probably can't happen. Fixes gcc 10 warning:
+
+drivers/net/ethernet/chelsio/cxgb4/t4_hw.c: In function ‘t4_phy_fw_ver’:
+drivers/net/ethernet/chelsio/cxgb4/t4_hw.c:3747:14: warning: ‘val’ may be used uninitialized in this function [-Wmaybe-uninitialized]
+ 3747 | *phy_fw_ver = val;
+
+Fixes: 01b6961410b7 ("cxgb4: Add PHY firmware support for T420-BT cards")
+Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
+@@ -3748,7 +3748,7 @@ int t4_phy_fw_ver(struct adapter *adap,
+ FW_PARAMS_PARAM_Z_V(FW_PARAMS_PARAM_DEV_PHYFW_VERSION));
+ ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
+ ¶m, &val);
+- if (ret < 0)
++ if (ret)
+ return ret;
+ *phy_fw_ver = val;
+ return 0;
--- /dev/null
+From 0e631eee17dcea576ab922fa70e4fdbd596ee452 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Mon, 13 Apr 2020 13:57:14 +0100
+Subject: rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
+
+From: David Howells <dhowells@redhat.com>
+
+commit 0e631eee17dcea576ab922fa70e4fdbd596ee452 upstream.
+
+Fix the DATA packet transmission to disable nofrag for UDPv4 on an AF_INET6
+socket as well as UDPv6 when trying to transmit fragmentably.
+
+Without this, packets filled to the normal size used by the kernel AFS
+client of 1412 bytes be rejected by udp_sendmsg() with EMSGSIZE
+immediately. The ->sk_error_report() notification hook is called, but
+rxrpc doesn't generate a trace for it.
+
+This is a temporary fix; a more permanent solution needs to involve
+changing the size of the packets being filled in accordance with the MTU,
+which isn't currently done in AF_RXRPC. The reason for not doing so was
+that, barring the last packet in an rx jumbo packet, jumbos can only be
+assembled out of 1412-byte packets - and the plan was to construct jumbos
+on the fly at transmission time.
+
+Also, there's no point turning on IPV6_MTU_DISCOVER, since IPv6 has to
+engage in this anyway since fragmentation is only done by the sender. We
+can then condense the switch-statement in rxrpc_send_data_packet().
+
+Fixes: 75b54cb57ca3 ("rxrpc: Add IPv6 support")
+Signed-off-by: David Howells <dhowells@redhat.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/rxrpc/local_object.c | 9 ---------
+ net/rxrpc/output.c | 42 +++++++++++-------------------------------
+ 2 files changed, 11 insertions(+), 40 deletions(-)
+
+--- a/net/rxrpc/local_object.c
++++ b/net/rxrpc/local_object.c
+@@ -169,15 +169,6 @@ static int rxrpc_open_socket(struct rxrp
+ goto error;
+ }
+
+- /* we want to set the don't fragment bit */
+- opt = IPV6_PMTUDISC_DO;
+- ret = kernel_setsockopt(local->socket, SOL_IPV6, IPV6_MTU_DISCOVER,
+- (char *) &opt, sizeof(opt));
+- if (ret < 0) {
+- _debug("setsockopt failed");
+- goto error;
+- }
+-
+ /* Fall through and set IPv4 options too otherwise we don't get
+ * errors from IPv4 packets sent through the IPv6 socket.
+ */
+--- a/net/rxrpc/output.c
++++ b/net/rxrpc/output.c
+@@ -480,41 +480,21 @@ send_fragmentable:
+ skb->tstamp = ktime_get_real();
+
+ switch (conn->params.local->srx.transport.family) {
++ case AF_INET6:
+ case AF_INET:
+ opt = IP_PMTUDISC_DONT;
+- ret = kernel_setsockopt(conn->params.local->socket,
+- SOL_IP, IP_MTU_DISCOVER,
+- (char *)&opt, sizeof(opt));
+- if (ret == 0) {
+- ret = kernel_sendmsg(conn->params.local->socket, &msg,
+- iov, 2, len);
+- conn->params.peer->last_tx_at = ktime_get_seconds();
+-
+- opt = IP_PMTUDISC_DO;
+- kernel_setsockopt(conn->params.local->socket, SOL_IP,
+- IP_MTU_DISCOVER,
+- (char *)&opt, sizeof(opt));
+- }
+- break;
+-
+-#ifdef CONFIG_AF_RXRPC_IPV6
+- case AF_INET6:
+- opt = IPV6_PMTUDISC_DONT;
+- ret = kernel_setsockopt(conn->params.local->socket,
+- SOL_IPV6, IPV6_MTU_DISCOVER,
+- (char *)&opt, sizeof(opt));
+- if (ret == 0) {
+- ret = kernel_sendmsg(conn->params.local->socket, &msg,
+- iov, 2, len);
+- conn->params.peer->last_tx_at = ktime_get_seconds();
++ kernel_setsockopt(conn->params.local->socket,
++ SOL_IP, IP_MTU_DISCOVER,
++ (char *)&opt, sizeof(opt));
++ ret = kernel_sendmsg(conn->params.local->socket, &msg,
++ iov, 2, len);
++ conn->params.peer->last_tx_at = ktime_get_seconds();
+
+- opt = IPV6_PMTUDISC_DO;
+- kernel_setsockopt(conn->params.local->socket,
+- SOL_IPV6, IPV6_MTU_DISCOVER,
+- (char *)&opt, sizeof(opt));
+- }
++ opt = IP_PMTUDISC_DO;
++ kernel_setsockopt(conn->params.local->socket,
++ SOL_IP, IP_MTU_DISCOVER,
++ (char *)&opt, sizeof(opt));
+ break;
+-#endif
+
+ default:
+ BUG();
asoc-tas571x-disable-regulators-on-failed-probe.patch
asoc-wm8960-fix-wrong-clock-after-suspend-resume.patch
nfsd-memory-corruption-in-nfsd4_lock.patch
+i2c-altera-use-proper-variable-to-hold-errno.patch
+rxrpc-fix-data-tx-to-disable-nofrag-for-udp-on-af_inet6-socket.patch
+net-cxgb4-check-the-return-from-t4_query_params-properly.patch
+xfs-acquire-superblock-freeze-protection-on-eofblocks-scans.patch
--- /dev/null
+From 4b674b9ac852937af1f8c62f730c325fb6eadcdb Mon Sep 17 00:00:00 2001
+From: Brian Foster <bfoster@redhat.com>
+Date: Sun, 12 Apr 2020 13:11:10 -0700
+Subject: xfs: acquire superblock freeze protection on eofblocks scans
+
+From: Brian Foster <bfoster@redhat.com>
+
+commit 4b674b9ac852937af1f8c62f730c325fb6eadcdb upstream.
+
+The filesystem freeze sequence in XFS waits on any background
+eofblocks or cowblocks scans to complete before the filesystem is
+quiesced. At this point, the freezer has already stopped the
+transaction subsystem, however, which means a truncate or cowblock
+cancellation in progress is likely blocked in transaction
+allocation. This results in a deadlock between freeze and the
+associated scanner.
+
+Fix this problem by holding superblock write protection across calls
+into the block reapers. Since protection for background scans is
+acquired from the workqueue task context, trylock to avoid a similar
+deadlock between freeze and blocking on the write lock.
+
+Fixes: d6b636ebb1c9f ("xfs: halt auto-reclamation activities while rebuilding rmap")
+Reported-by: Paul Furtado <paulfurtado91@gmail.com>
+Signed-off-by: Brian Foster <bfoster@redhat.com>
+Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Reviewed-by: Allison Collins <allison.henderson@oracle.com>
+Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/xfs/xfs_icache.c | 10 ++++++++++
+ fs/xfs/xfs_ioctl.c | 5 ++++-
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+--- a/fs/xfs/xfs_icache.c
++++ b/fs/xfs/xfs_icache.c
+@@ -902,7 +902,12 @@ xfs_eofblocks_worker(
+ {
+ struct xfs_mount *mp = container_of(to_delayed_work(work),
+ struct xfs_mount, m_eofblocks_work);
++
++ if (!sb_start_write_trylock(mp->m_super))
++ return;
+ xfs_icache_free_eofblocks(mp, NULL);
++ sb_end_write(mp->m_super);
++
+ xfs_queue_eofblocks(mp);
+ }
+
+@@ -929,7 +934,12 @@ xfs_cowblocks_worker(
+ {
+ struct xfs_mount *mp = container_of(to_delayed_work(work),
+ struct xfs_mount, m_cowblocks_work);
++
++ if (!sb_start_write_trylock(mp->m_super))
++ return;
+ xfs_icache_free_cowblocks(mp, NULL);
++ sb_end_write(mp->m_super);
++
+ xfs_queue_cowblocks(mp);
+ }
+
+--- a/fs/xfs/xfs_ioctl.c
++++ b/fs/xfs/xfs_ioctl.c
+@@ -2182,7 +2182,10 @@ xfs_file_ioctl(
+ if (error)
+ return error;
+
+- return xfs_icache_free_eofblocks(mp, &keofb);
++ sb_start_write(mp->m_super);
++ error = xfs_icache_free_eofblocks(mp, &keofb);
++ sb_end_write(mp->m_super);
++ return error;
+ }
+
+ default: