mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-18 16:40:29 +00:00
kernel: bump 5.4 to 5.4.191
Merged upstream: apm821xx/patches-5.4/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch Similar patch merged upstream: bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch Manually adapted: layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch Compile-tested: armvirt/64 Run-tested: armvirt/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
b4ea8e1089
commit
e0bdf83972
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .188
|
||||
LINUX_VERSION-5.4 = .191
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.188 = 9fbc8bfdc28c9fce2307bdf7cf1172c9819df673397a411c40a5c3d0a570fdbc
|
||||
LINUX_KERNEL_HASH-5.4.191 = 288ca85fcdad18e950ccbe3d640594ee36d5aac226321ed935076fadb0cc0a3a
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -1,65 +0,0 @@
|
||||
From ba068938e629eb1a8b423a54405233e685cedb78 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ba068938e629eb1a8b423a54405233e685cedb78.1647594132.git.chunkeey@gmail.com>
|
||||
From: Christian Lamparter <chunkeey@gmail.com>
|
||||
Date: Thu, 17 Mar 2022 21:29:28 +0100
|
||||
Subject: [PATCH v1 1/2] ata: sata_dwc_460ex: Fix crash due to OOB write
|
||||
To: linux-ide@vger.kernel.org
|
||||
Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
|
||||
Jens Axboe <axboe@kernel.dk>,
|
||||
Tejun Heo <tj@kernel.org>,
|
||||
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
|
||||
the driver uses libata's "tag" values from in various arrays.
|
||||
Since the mentioned patch bumped the ATA_TAG_INTERNAL to 32,
|
||||
the value of the SATA_DWC_QCMD_MAX needs to be bumped to 33.
|
||||
|
||||
Otherwise ATA_TAG_INTERNAL cause a crash like this:
|
||||
|
||||
| BUG: Kernel NULL pointer dereference at 0x00000000
|
||||
| Faulting instruction address: 0xc03ed4b8
|
||||
| Oops: Kernel access of bad area, sig: 11 [#1]
|
||||
| BE PAGE_SIZE=4K PowerPC 44x Platform
|
||||
| CPU: 0 PID: 362 Comm: scsi_eh_1 Not tainted 5.4.163 #0
|
||||
| NIP: c03ed4b8 LR: c03d27e8 CTR: c03ed36c
|
||||
| REGS: cfa59950 TRAP: 0300 Not tainted (5.4.163)
|
||||
| MSR: 00021000 <CE,ME> CR: 42000222 XER: 00000000
|
||||
| DEAR: 00000000 ESR: 00000000
|
||||
| GPR00: c03d27e8 cfa59a08 cfa55fe0 00000000 0fa46bc0 [...]
|
||||
| [..]
|
||||
| NIP [c03ed4b8] sata_dwc_qc_issue+0x14c/0x254
|
||||
| LR [c03d27e8] ata_qc_issue+0x1c8/0x2dc
|
||||
| Call Trace:
|
||||
| [cfa59a08] [c003f4e0] __cancel_work_timer+0x124/0x194 (unreliable)
|
||||
| [cfa59a78] [c03d27e8] ata_qc_issue+0x1c8/0x2dc
|
||||
| [cfa59a98] [c03d2b3c] ata_exec_internal_sg+0x240/0x524
|
||||
| [cfa59b08] [c03d2e98] ata_exec_internal+0x78/0xe0
|
||||
| [cfa59b58] [c03d30fc] ata_read_log_page.part.38+0x1dc/0x204
|
||||
| [cfa59bc8] [c03d324c] ata_identify_page_supported+0x68/0x130
|
||||
| [...]
|
||||
|
||||
this is because sata_dwc_dma_xfer_complete() NULLs the
|
||||
dma_pending's next neighbour "chan" (a *dma_chan struct) in
|
||||
this '32' case right here (line ~735):
|
||||
> hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_NONE;
|
||||
|
||||
Then the next time, a dma gets issued; dma_dwc_xfer_setup() passes
|
||||
the NULL'd hsdevp->chan to the dmaengine_slave_config() which then
|
||||
causes the crash.
|
||||
|
||||
Reported-by: ticerex (OpenWrt Forum)
|
||||
Fixes: 28361c403683c ("libata: add extra internal command")
|
||||
Cc: stable@kernel.org # 4.18+
|
||||
Link: https://forum.openwrt.org/t/my-book-live-duo-reboot-loop/122464
|
||||
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
---
|
||||
--- a/drivers/ata/sata_dwc_460ex.c
|
||||
+++ b/drivers/ata/sata_dwc_460ex.c
|
||||
@@ -145,7 +145,7 @@ struct sata_dwc_device {
|
||||
#endif
|
||||
};
|
||||
|
||||
-#define SATA_DWC_QCMD_MAX 32
|
||||
+#define SATA_DWC_QCMD_MAX 33
|
||||
|
||||
struct sata_dwc_device_port {
|
||||
struct sata_dwc_device *hsdev;
|
@ -23,7 +23,7 @@ produce a noisy warning.
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
|
||||
@@ -425,10 +425,14 @@ static int xhci_try_enable_msi(struct us
|
||||
free_irq(hcd->irq, hcd);
|
||||
hcd->irq = 0;
|
||||
|
||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1887,6 +1887,7 @@ struct xhci_hcd {
|
||||
@@ -1890,6 +1890,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
@ -799,7 +799,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -489,7 +489,7 @@ static inline bool is_etherdev_addr(cons
|
||||
@@ -488,7 +488,7 @@ static inline bool is_etherdev_addr(cons
|
||||
* @b: Pointer to Ethernet header
|
||||
*
|
||||
* Compare two Ethernet headers, returns 0 if equal.
|
||||
@ -808,7 +808,7 @@
|
||||
* aligned OR the platform can handle unaligned access. This is the
|
||||
* case for all packets coming into netif_receive_skb or similar
|
||||
* entry points.
|
||||
@@ -512,11 +512,12 @@ static inline unsigned long compare_ethe
|
||||
@@ -511,11 +511,12 @@ static inline unsigned long compare_ethe
|
||||
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
|
||||
return fold;
|
||||
#else
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -8514,8 +8514,6 @@ int alloc_contig_range(unsigned long sta
|
||||
@@ -8521,8 +8521,6 @@ int alloc_contig_range(unsigned long sta
|
||||
|
||||
/* Make sure the range is really isolated. */
|
||||
if (test_pages_isolated(outer_start, end, false)) {
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/sound/soc/codecs/Kconfig
|
||||
+++ b/sound/soc/codecs/Kconfig
|
||||
@@ -710,7 +710,7 @@ config SND_SOC_HDAC_HDA
|
||||
@@ -715,7 +715,7 @@ config SND_SOC_HDAC_HDA
|
||||
select SND_HDA
|
||||
|
||||
config SND_SOC_ICS43432
|
||||
|
@ -20,7 +20,7 @@ Subject: [PATCH] ASoC: Add support for Rpi-DAC
|
||||
select SND_SOC_PCM3008
|
||||
select SND_SOC_PCM3060_I2C if I2C
|
||||
select SND_SOC_PCM3060_SPI if SPI_MASTER
|
||||
@@ -980,6 +981,10 @@ config SND_SOC_RT5616
|
||||
@@ -985,6 +986,10 @@ config SND_SOC_RT5616
|
||||
tristate "Realtek RT5616 CODEC"
|
||||
depends on I2C
|
||||
|
||||
|
@ -35,7 +35,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is
|
||||
select SND_SOC_TLV320AIC26 if SPI_MASTER
|
||||
select SND_SOC_TLV320AIC31XX if I2C
|
||||
select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK
|
||||
@@ -1143,6 +1144,9 @@ config SND_SOC_TFA9879
|
||||
@@ -1148,6 +1149,9 @@ config SND_SOC_TFA9879
|
||||
tristate "NXP Semiconductors TFA9879 amplifier"
|
||||
depends on I2C
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/kernel/cgroup/cgroup.c
|
||||
+++ b/kernel/cgroup/cgroup.c
|
||||
@@ -5749,6 +5749,9 @@ int __init cgroup_init_early(void)
|
||||
@@ -5788,6 +5788,9 @@ int __init cgroup_init_early(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/**
|
||||
* cgroup_init - cgroup initialization
|
||||
*
|
||||
@@ -5787,6 +5790,12 @@ int __init cgroup_init(void)
|
||||
@@ -5826,6 +5829,12 @@ int __init cgroup_init(void)
|
||||
|
||||
mutex_unlock(&cgroup_mutex);
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
for_each_subsys(ss, ssid) {
|
||||
if (ss->early_init) {
|
||||
struct cgroup_subsys_state *css =
|
||||
@@ -6196,6 +6205,10 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6235,6 +6244,10 @@ static int __init cgroup_disable(char *s
|
||||
strcmp(token, ss->legacy_name))
|
||||
continue;
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||
pr_info("Disabling %s control group subsystem\n",
|
||||
ss->name);
|
||||
@@ -6205,6 +6218,31 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6244,6 +6257,31 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
@ -226,7 +226,7 @@ Signed-off-by: Hui Wang <hui.wang@canonical.com>
|
||||
select SND_SOC_JZ4740_CODEC
|
||||
select SND_SOC_JZ4725B_CODEC
|
||||
select SND_SOC_LM4857 if I2C
|
||||
@@ -1497,4 +1498,8 @@ config SND_SOC_TPA6130A2
|
||||
@@ -1502,4 +1503,8 @@ config SND_SOC_TPA6130A2
|
||||
tristate "Texas Instruments TPA6130A2 headphone amplifier"
|
||||
depends on I2C
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
From a71750c83a6f1f2f7c22864bbb4e62af5e70c214 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Gover <tim.gover@raspberrypi.org>
|
||||
Date: Fri, 22 Mar 2019 09:47:14 +0000
|
||||
Subject: [PATCH] usb: xhci: Disable the XHCI 5 second timeout
|
||||
|
||||
If the VL805 EEPROM has not been programmed then boot will hang for five
|
||||
seconds. The timeout seems to be arbitrary and is an unecessary
|
||||
delay on the first boot. Remove the timeout.
|
||||
|
||||
This is common code and probably can't be upstreamed unless the timeout
|
||||
can be configurable somehow or perhaps the XHCI driver can be skipped
|
||||
on the first boot.
|
||||
---
|
||||
drivers/usb/host/xhci.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -196,8 +196,9 @@ int xhci_reset(struct xhci_hcd *xhci)
|
||||
if (xhci->quirks & XHCI_INTEL_HOST)
|
||||
udelay(1000);
|
||||
|
||||
+ // Hack: reduce handshake timeout from 10s 0.5s due to unprogrammed vl805
|
||||
ret = xhci_handshake(&xhci->op_regs->command,
|
||||
- CMD_RESET, 0, 10 * 1000 * 1000);
|
||||
+ CMD_RESET, 0, 500 * 1000);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1475,6 +1475,103 @@ command_cleanup:
|
||||
@@ -1472,6 +1472,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5376,6 +5473,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5373,6 +5470,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1877,6 +1877,7 @@ struct xhci_hcd {
|
||||
@@ -1880,6 +1880,7 @@ struct xhci_hcd {
|
||||
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
val);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1653,8 +1653,8 @@ struct urb_priv {
|
||||
@@ -1656,8 +1656,8 @@ struct urb_priv {
|
||||
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
|
||||
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||
* meaning 64 ring segments.
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/kernel/dma/direct.c
|
||||
+++ b/kernel/dma/direct.c
|
||||
@@ -398,7 +398,7 @@ int dma_direct_supported(struct device *
|
||||
@@ -399,7 +399,7 @@ int dma_direct_supported(struct device *
|
||||
if (IS_ENABLED(CONFIG_ZONE_DMA))
|
||||
min_mask = DMA_BIT_MASK(ARCH_ZONE_DMA_BITS);
|
||||
else
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
(default "off")
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -267,6 +267,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -268,6 +268,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
static int bcm54xx_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg, err, val;
|
||||
@ -97,7 +97,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
if (reg < 0)
|
||||
@@ -318,6 +321,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -319,6 +322,8 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
bcm54xx_phydsp_config(phydev);
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
/* Encode link speed into LED1 and LED3 pair (green/amber).
|
||||
* Also flash these two LEDs on activity. This means configuring
|
||||
* them for MULTICOLOR and encoding link/activity into them.
|
||||
@@ -327,8 +332,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -328,8 +333,8 @@ static int bcm54xx_config_init(struct ph
|
||||
bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
|
||||
|
||||
val = BCM_LED_MULTICOLOR_IN_PHASE |
|
||||
|
@ -11,7 +11,7 @@ releases.
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -268,7 +268,7 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -269,7 +269,7 @@ static int bcm54xx_config_init(struct ph
|
||||
{
|
||||
int reg, err, val;
|
||||
u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
|
||||
@ -20,7 +20,7 @@ releases.
|
||||
struct device_node *np = phydev->mdio.dev.of_node;
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
@@ -323,10 +323,6 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -324,10 +324,6 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
of_property_read_u32_array(np, "led-modes", led_modes, 2);
|
||||
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
arm64_dma32_phys_limit = max_zone_phys(32);
|
||||
--- a/arch/powerpc/include/asm/page.h
|
||||
+++ b/arch/powerpc/include/asm/page.h
|
||||
@@ -334,13 +334,4 @@ struct vm_area_struct;
|
||||
@@ -338,13 +338,4 @@ struct vm_area_struct;
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#include <asm/slice.h>
|
||||
|
||||
@ -184,7 +184,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
return GFP_DMA;
|
||||
if (*phys_mask <= DMA_BIT_MASK(32))
|
||||
return GFP_DMA32;
|
||||
@@ -396,7 +395,7 @@ int dma_direct_supported(struct device *
|
||||
@@ -397,7 +396,7 @@ int dma_direct_supported(struct device *
|
||||
u64 min_mask;
|
||||
|
||||
if (IS_ENABLED(CONFIG_ZONE_DMA))
|
||||
|
@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org
|
||||
|
||||
--- a/drivers/pci/controller/pci-aardvark.c
|
||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||
@@ -1525,7 +1525,8 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -1523,7 +1523,8 @@ static int advk_pcie_probe(struct platfo
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org
|
||||
}
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -2281,6 +2281,7 @@ struct irq_domain;
|
||||
@@ -2282,6 +2282,7 @@ struct irq_domain;
|
||||
struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus);
|
||||
int pci_parse_request_of_pci_ranges(struct device *dev,
|
||||
struct list_head *resources,
|
||||
@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org
|
||||
struct resource **bus_range);
|
||||
|
||||
/* Arch may override this (weak) */
|
||||
@@ -2289,9 +2290,11 @@ struct device_node *pcibios_get_phb_of_n
|
||||
@@ -2290,9 +2291,11 @@ struct device_node *pcibios_get_phb_of_n
|
||||
#else /* CONFIG_OF */
|
||||
static inline struct irq_domain *
|
||||
pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; }
|
||||
|
@ -84,7 +84,7 @@ Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
|
||||
|
||||
--- a/kernel/dma/direct.c
|
||||
+++ b/kernel/dma/direct.c
|
||||
@@ -326,7 +326,7 @@ static inline bool dma_direct_possible(s
|
||||
@@ -327,7 +327,7 @@ static inline bool dma_direct_possible(s
|
||||
size_t size)
|
||||
{
|
||||
return swiotlb_force != SWIOTLB_FORCE &&
|
||||
@ -93,7 +93,7 @@ Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
|
||||
}
|
||||
|
||||
dma_addr_t dma_direct_map_page(struct device *dev, struct page *page,
|
||||
@@ -375,7 +375,7 @@ dma_addr_t dma_direct_map_resource(struc
|
||||
@@ -376,7 +376,7 @@ dma_addr_t dma_direct_map_resource(struc
|
||||
{
|
||||
dma_addr_t dma_addr = paddr;
|
||||
|
||||
@ -104,7 +104,7 @@ Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
|
||||
}
|
||||
--- a/kernel/dma/swiotlb.c
|
||||
+++ b/kernel/dma/swiotlb.c
|
||||
@@ -682,7 +682,7 @@ bool swiotlb_map(struct device *dev, phy
|
||||
@@ -683,7 +683,7 @@ bool swiotlb_map(struct device *dev, phy
|
||||
|
||||
/* Ensure that the address returned is DMA'ble */
|
||||
*dma_addr = __phys_to_dma(dev, *phys);
|
||||
|
@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig <hch@lst.de>
|
||||
u64 dma_direct_get_required_mask(struct device *dev);
|
||||
--- a/include/linux/dma-mapping.h
|
||||
+++ b/include/linux/dma-mapping.h
|
||||
@@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co
|
||||
@@ -705,7 +705,7 @@ static inline int dma_coerce_mask_and_co
|
||||
*/
|
||||
static inline bool dma_addressing_limited(struct device *dev)
|
||||
{
|
||||
|
@ -168,7 +168,7 @@ Signed-off-by: AMuszkat <ariel.muszkat@gmail.com>
|
||||
select SND_SOC_MAX98088 if I2C
|
||||
select SND_SOC_MAX98090 if I2C
|
||||
select SND_SOC_MAX98095 if I2C
|
||||
@@ -732,6 +733,13 @@ config SND_SOC_LOCHNAGAR_SC
|
||||
@@ -737,6 +738,13 @@ config SND_SOC_LOCHNAGAR_SC
|
||||
This driver support the sound card functionality of the Cirrus
|
||||
Logic Lochnagar audio development board.
|
||||
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
{
|
||||
DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
|
||||
struct file *memfd = NULL;
|
||||
@@ -172,6 +174,7 @@ static long udmabuf_create(const struct
|
||||
@@ -176,6 +178,7 @@ static long udmabuf_create(const struct
|
||||
exp_info.priv = ubuf;
|
||||
exp_info.flags = O_RDWR;
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
buf = dma_buf_export(&exp_info);
|
||||
if (IS_ERR(buf)) {
|
||||
ret = PTR_ERR(buf);
|
||||
@@ -209,7 +212,7 @@ static long udmabuf_ioctl_create(struct
|
||||
@@ -213,7 +216,7 @@ static long udmabuf_ioctl_create(struct
|
||||
list.offset = create.offset;
|
||||
list.size = create.size;
|
||||
|
||||
@ -56,7 +56,7 @@ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
}
|
||||
|
||||
static long udmabuf_ioctl_create_list(struct file *filp, unsigned long arg)
|
||||
@@ -228,7 +231,7 @@ static long udmabuf_ioctl_create_list(st
|
||||
@@ -232,7 +235,7 @@ static long udmabuf_ioctl_create_list(st
|
||||
if (IS_ERR(list))
|
||||
return PTR_ERR(list);
|
||||
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1880,6 +1880,7 @@ struct xhci_hcd {
|
||||
@@ -1883,6 +1883,7 @@ struct xhci_hcd {
|
||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -213,7 +213,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -214,7 +214,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
/* Abort if we are using an untested phy. */
|
||||
if (BRCM_PHY_MODEL(phydev) != PHY_ID_BCM57780 &&
|
||||
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610 &&
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
return;
|
||||
|
||||
val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
|
||||
@@ -620,13 +621,21 @@ static struct phy_driver broadcom_driver
|
||||
@@ -641,13 +642,21 @@ static struct phy_driver broadcom_driver
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
.phy_id = PHY_ID_BCM54210E,
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
.phy_id = PHY_ID_BCM5461,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM5461",
|
||||
@@ -754,7 +763,8 @@ module_phy_driver(broadcom_drivers);
|
||||
@@ -775,7 +784,8 @@ module_phy_driver(broadcom_drivers);
|
||||
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
|
||||
{ PHY_ID_BCM5411, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5421, 0xfffffff0 },
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -43,6 +43,11 @@ static int bcm54210e_config_init(struct
|
||||
@@ -44,6 +44,11 @@ static int bcm54210e_config_init(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
static int bcm54612e_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg;
|
||||
@@ -304,6 +309,10 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -305,6 +310,10 @@ static int bcm54xx_config_init(struct ph
|
||||
err = bcm54210e_config_init(phydev);
|
||||
if (err)
|
||||
return err;
|
||||
|
@ -90,7 +90,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
* Reset a halted HC.
|
||||
*
|
||||
@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
|
||||
static int xhci_run_finished(struct xhci_hcd *xhci)
|
||||
{
|
||||
@ -114,7 +114,7 @@ it on BCM4708 family.
|
||||
xhci->shared_hcd->state = HC_STATE_RUNNING;
|
||||
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
|
||||
|
||||
@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
|
||||
@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci
|
||||
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
||||
"Finished xhci_run for USB3 roothub");
|
||||
return 0;
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1877,6 +1877,7 @@ struct xhci_hcd {
|
||||
@@ -1880,6 +1880,7 @@ struct xhci_hcd {
|
||||
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -4926,6 +4926,80 @@ static int mv88e6xxx_port_mdb_del(struct
|
||||
@@ -4927,6 +4927,80 @@ static int mv88e6xxx_port_mdb_del(struct
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
|
||||
bool unicast, bool multicast)
|
||||
{
|
||||
@@ -4980,6 +5054,8 @@ static const struct dsa_switch_ops mv88e
|
||||
@@ -4981,6 +5055,8 @@ static const struct dsa_switch_ops mv88e
|
||||
.port_mdb_prepare = mv88e6xxx_port_mdb_prepare,
|
||||
.port_mdb_add = mv88e6xxx_port_mdb_add,
|
||||
.port_mdb_del = mv88e6xxx_port_mdb_del,
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -4993,7 +4993,7 @@ static void mv88e6xxx_port_mirror_del(st
|
||||
@@ -4994,7 +4994,7 @@ static void mv88e6xxx_port_mirror_del(st
|
||||
if (chip->info->ops->set_egress_port(chip,
|
||||
direction,
|
||||
dsa_upstream_port(ds,
|
||||
|
@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1168,6 +1168,73 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1161,6 +1161,73 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1251,6 +1318,12 @@ static int __init ubi_init(void)
|
||||
@@ -1244,6 +1311,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
@@ -564,6 +570,17 @@ full_scan:
|
||||
@@ -566,6 +572,17 @@ full_scan:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/*
|
||||
* Get the required data from the packet.
|
||||
*/
|
||||
@@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co
|
||||
@@ -1139,7 +1145,7 @@ int nf_conntrack_tcp_packet(struct nf_co
|
||||
IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
|
||||
timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
|
||||
timeout = timeouts[TCP_CONNTRACK_UNACK];
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3296,6 +3298,7 @@ static int packet_create(struct net *net
|
||||
@@ -3301,6 +3303,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3939,6 +3942,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3944,6 +3947,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3995,6 +4008,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -4000,6 +4013,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -5080,6 +5080,7 @@ static int mv88e6xxx_register_switch(str
|
||||
@@ -5081,6 +5081,7 @@ static int mv88e6xxx_register_switch(str
|
||||
ds->ops = &mv88e6xxx_switch_ops;
|
||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -5152,6 +5165,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -5155,6 +5168,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (tag < 0)
|
||||
return NULL;
|
||||
}
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
qc = __ata_qc_from_tag(ap, tag);
|
||||
qc->tag = qc->hw_tag = tag;
|
||||
@@ -6088,6 +6104,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -6091,6 +6107,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -6123,6 +6142,12 @@ static void ata_host_release(struct kref
|
||||
@@ -6126,6 +6145,12 @@ static void ata_host_release(struct kref
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -6586,7 +6611,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -6589,7 +6614,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -206,6 +206,18 @@
|
||||
@@ -207,6 +207,18 @@
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
@ -56,7 +56,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
};
|
||||
};
|
||||
|
||||
@@ -353,6 +354,12 @@
|
||||
@@ -354,6 +355,12 @@
|
||||
regulator;
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
#interrupt-cells = <2>;
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -201,6 +201,7 @@
|
||||
@@ -202,6 +202,7 @@
|
||||
compatible = "qcom,ipq4019-pinctrl";
|
||||
reg = <0x01000000 0x300000>;
|
||||
gpio-controller;
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -166,6 +166,7 @@
|
||||
@@ -167,6 +167,7 @@
|
||||
<1 4 0xf08>,
|
||||
<1 1 0xf08>;
|
||||
clock-frequency = <48000000>;
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -577,5 +577,33 @@
|
||||
@@ -578,5 +578,33 @@
|
||||
"legacy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -209,6 +209,16 @@
|
||||
@@ -210,6 +210,16 @@
|
||||
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
|
@ -15,7 +15,7 @@ Reviewed-by: Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -615,5 +615,79 @@
|
||||
@@ -616,5 +616,79 @@
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ Cc: Luka Perkov <luka.perkov@sartura.hr>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -190,7 +190,7 @@
|
||||
@@ -191,7 +191,7 @@
|
||||
reg = <0x1800000 0x60000>;
|
||||
};
|
||||
|
||||
@ -22,7 +22,7 @@ Cc: Luka Perkov <luka.perkov@sartura.hr>
|
||||
compatible = "qcom,prng";
|
||||
reg = <0x22000 0x140>;
|
||||
clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
||||
@@ -310,7 +310,7 @@
|
||||
@@ -311,7 +311,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -31,7 +31,7 @@ Cc: Luka Perkov <luka.perkov@sartura.hr>
|
||||
compatible = "qcom,crypto-v5.1";
|
||||
reg = <0x08e3a000 0x6000>;
|
||||
clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
|
||||
@@ -396,7 +396,7 @@
|
||||
@@ -397,7 +397,7 @@
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
|
||||
@@ -616,6 +616,29 @@
|
||||
@@ -617,6 +617,29 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
@@ -597,22 +598,39 @@
|
||||
@@ -598,22 +599,39 @@
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
};
|
||||
|
||||
cpus {
|
||||
@@ -657,6 +659,64 @@
|
||||
@@ -658,6 +660,64 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
(transaction layer end-to-end CRC checking).
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -1392,6 +1392,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
@@ -1393,6 +1393,8 @@ void pci_walk_bus(struct pci_bus *top, i
|
||||
void *userdata);
|
||||
int pci_cfg_space_size(struct pci_dev *dev);
|
||||
unsigned char pci_bus_max_busnr(struct pci_bus *bus);
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3901,6 +3917,7 @@ static int cgroup_add_file(struct cgroup
|
||||
@@ -3924,6 +3940,7 @@ static int cgroup_add_file(struct cgroup
|
||||
{
|
||||
char name[CGROUP_FILE_NAME_MAX];
|
||||
struct kernfs_node *kn;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
|
||||
struct lock_class_key *key = NULL;
|
||||
int ret;
|
||||
|
||||
@@ -3931,6 +3948,14 @@ static int cgroup_add_file(struct cgroup
|
||||
@@ -3954,6 +3971,14 @@ static int cgroup_add_file(struct cgroup
|
||||
spin_unlock_irq(&cgroup_file_kn_lock);
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3917,7 +3901,6 @@ static int cgroup_add_file(struct cgroup
|
||||
@@ -3940,7 +3924,6 @@ static int cgroup_add_file(struct cgroup
|
||||
{
|
||||
char name[CGROUP_FILE_NAME_MAX];
|
||||
struct kernfs_node *kn;
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
|
||||
struct lock_class_key *key = NULL;
|
||||
int ret;
|
||||
|
||||
@@ -3948,14 +3931,6 @@ static int cgroup_add_file(struct cgroup
|
||||
@@ -3971,14 +3954,6 @@ static int cgroup_add_file(struct cgroup
|
||||
spin_unlock_irq(&cgroup_file_kn_lock);
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: Han Xu <han.xu@nxp.com>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -576,7 +576,7 @@ static int io_init(struct ubi_device *ub
|
||||
@@ -572,7 +572,7 @@ static int io_init(struct ubi_device *ub
|
||||
dbg_gen("sizeof(struct ubi_ainf_peb) %zu", sizeof(struct ubi_ainf_peb));
|
||||
dbg_gen("sizeof(struct ubi_wl_entry) %zu", sizeof(struct ubi_wl_entry));
|
||||
|
||||
|
@ -86,42 +86,30 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
|
||||
if (err) {
|
||||
--- a/sound/soc/codecs/msm8916-wcd-analog.c
|
||||
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
|
||||
@@ -1195,8 +1195,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
}
|
||||
@@ -1196,6 +1196,7 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
|
||||
irq = platform_get_irq_byname(pdev, "mbhc_switch_int");
|
||||
- if (irq < 0)
|
||||
+ if (irq < 0) {
|
||||
if (irq < 0) {
|
||||
+ dev_err(dev, "failed to get mbhc switch irq\n");
|
||||
return irq;
|
||||
+ }
|
||||
|
||||
ret = devm_request_threaded_irq(dev, irq, NULL,
|
||||
pm8916_mbhc_switch_irq_handler,
|
||||
@@ -1208,8 +1210,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
|
||||
ret = irq;
|
||||
goto err_disable_clk;
|
||||
}
|
||||
@@ -1211,6 +1212,7 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
if (priv->mbhc_btn_enabled) {
|
||||
irq = platform_get_irq_byname(pdev, "mbhc_but_press_det");
|
||||
- if (irq < 0)
|
||||
+ if (irq < 0) {
|
||||
if (irq < 0) {
|
||||
+ dev_err(dev, "failed to get button press irq\n");
|
||||
return irq;
|
||||
+ }
|
||||
|
||||
ret = devm_request_threaded_irq(dev, irq, NULL,
|
||||
mbhc_btn_press_irq_handler,
|
||||
@@ -1220,8 +1224,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
dev_err(dev, "cannot request mbhc button press irq\n");
|
||||
ret = irq;
|
||||
goto err_disable_clk;
|
||||
}
|
||||
@@ -1225,6 +1227,7 @@ static int pm8916_wcd_analog_spmi_probe(
|
||||
|
||||
irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det");
|
||||
- if (irq < 0)
|
||||
+ if (irq < 0) {
|
||||
if (irq < 0) {
|
||||
+ dev_err(dev, "failed to get button release irq\n");
|
||||
return irq;
|
||||
+ }
|
||||
|
||||
ret = devm_request_threaded_irq(dev, irq, NULL,
|
||||
mbhc_btn_release_irq_handler,
|
||||
ret = irq;
|
||||
goto err_disable_clk;
|
||||
}
|
||||
--- a/sound/soc/codecs/twl6040.c
|
||||
+++ b/sound/soc/codecs/twl6040.c
|
||||
@@ -1108,8 +1108,10 @@ static int twl6040_probe(struct snd_soc_
|
||||
@ -278,7 +266,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
|
||||
if (ret) {
|
||||
--- a/sound/soc/mxs/mxs-saif.c
|
||||
+++ b/sound/soc/mxs/mxs-saif.c
|
||||
@@ -790,8 +790,12 @@ static int mxs_saif_probe(struct platfor
|
||||
@@ -793,8 +793,12 @@ static int mxs_saif_probe(struct platfor
|
||||
return PTR_ERR(saif->base);
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
|
@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
|
||||
* fall back to INTx or other interrupts, e.g., a system shared
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -2024,6 +2024,7 @@ static inline void pcibios_penalize_isa_
|
||||
@@ -2025,6 +2025,7 @@ static inline void pcibios_penalize_isa_
|
||||
int pcibios_alloc_irq(struct pci_dev *dev);
|
||||
void pcibios_free_irq(struct pci_dev *dev);
|
||||
resource_size_t pcibios_default_alignment(void);
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-hub.c
|
||||
+++ b/drivers/usb/host/xhci-hub.c
|
||||
@@ -1422,6 +1422,15 @@ int xhci_hub_control(struct usb_hcd *hcd
|
||||
@@ -1425,6 +1425,15 @@ int xhci_hub_control(struct usb_hcd *hcd
|
||||
/* 4.19.6 Port Test Modes (USB2 Test Mode) */
|
||||
if (hcd->speed != HCD_USB2)
|
||||
goto error;
|
||||
@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* bursts that are required to move all packets in this TD. Only SuperSpeed
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5403,6 +5403,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5401,6 +5401,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
|
||||
.find_raw_port_number = xhci_find_raw_port_number,
|
||||
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
|
||||
@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
void xhci_init_driver(struct hc_driver *drv,
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -2154,6 +2154,16 @@ int xhci_find_raw_port_number(struct usb
|
||||
@@ -2157,6 +2157,16 @@ int xhci_find_raw_port_number(struct usb
|
||||
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
|
||||
|
||||
void xhci_hc_died(struct xhci_hcd *xhci);
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci)
|
||||
@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci, u6
|
||||
* Without this delay, the subsequent HC register access,
|
||||
* may result in a system hang very rarely.
|
||||
*/
|
||||
@ -29,10 +29,10 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
+ if (xhci->quirks & (XHCI_INTEL_HOST | XHCI_CDNS_HOST))
|
||||
udelay(1000);
|
||||
|
||||
ret = xhci_handshake(&xhci->op_regs->command,
|
||||
ret = xhci_handshake(&xhci->op_regs->command, CMD_RESET, 0, timeout_us);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1877,6 +1877,7 @@ struct xhci_hcd {
|
||||
@@ -1880,6 +1880,7 @@ struct xhci_hcd {
|
||||
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5424,6 +5424,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
@@ -5422,6 +5422,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
drv->check_bandwidth = over->check_bandwidth;
|
||||
if (over->reset_bandwidth)
|
||||
drv->reset_bandwidth = over->reset_bandwidth;
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
EXPORT_SYMBOL_GPL(xhci_init_driver);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1920,6 +1920,7 @@ struct xhci_driver_overrides {
|
||||
@@ -1923,6 +1923,7 @@ struct xhci_driver_overrides {
|
||||
int (*start)(struct usb_hcd *hcd);
|
||||
int (*check_bandwidth)(struct usb_hcd *, struct usb_device *);
|
||||
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-hub.c
|
||||
+++ b/drivers/usb/host/xhci-hub.c
|
||||
@@ -1740,7 +1740,8 @@ static bool xhci_port_missing_cas_quirk(
|
||||
@@ -1743,7 +1743,8 @@ static bool xhci_port_missing_cas_quirk(
|
||||
return false;
|
||||
|
||||
if (((portsc & PORT_PLS_MASK) != XDEV_POLLING) &&
|
||||
|
@ -19,7 +19,7 @@
|
||||
},
|
||||
[PORT_NPCM] = {
|
||||
.name = "Nuvoton 16550",
|
||||
@@ -2598,6 +2598,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
@@ -2610,6 +2610,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
unsigned long flags;
|
||||
unsigned int baud, quot, frac = 0;
|
||||
|
||||
|
@ -76,7 +76,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
|
||||
/* Set to Direct mode */
|
||||
reg = advk_readl(pcie, CTRL_CONFIG_REG);
|
||||
reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
|
||||
@@ -1495,6 +1504,62 @@ out_release_res:
|
||||
@@ -1493,6 +1502,62 @@ out_release_res:
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ Cc: Miquèl Raynal <miquel.raynal@bootlin.com>
|
||||
static int advk_pcie_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@@ -1627,6 +1692,10 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -1625,6 +1690,10 @@ static int advk_pcie_probe(struct platfo
|
||||
else
|
||||
pcie->link_gen = ret;
|
||||
|
||||
|
@ -31,7 +31,7 @@ Cc: <stable@vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert
|
||||
|
||||
--- a/drivers/pci/controller/pci-aardvark.c
|
||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||
@@ -1528,7 +1528,9 @@ static int advk_pcie_enable_phy(struct a
|
||||
@@ -1526,7 +1526,9 @@ static int advk_pcie_enable_phy(struct a
|
||||
}
|
||||
|
||||
ret = phy_power_on(pcie->phy);
|
||||
|
@ -15,7 +15,7 @@
|
||||
/* initialize internal qc */
|
||||
qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
|
||||
|
||||
@@ -5159,6 +5167,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
@@ -5162,6 +5170,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
|
||||
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
|
||||
return NULL;
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
/* libsas case */
|
||||
if (ap->flags & ATA_FLAG_SAS_HOST) {
|
||||
tag = ata_sas_allocate_tag(ap);
|
||||
@@ -5204,6 +5215,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||
@@ -5207,6 +5218,8 @@ void ata_qc_free(struct ata_queued_cmd *
|
||||
qc->tag = ATA_TAG_POISON;
|
||||
if (ap->flags & ATA_FLAG_SAS_HOST)
|
||||
ata_sas_free_tag(tag, ap);
|
||||
|
Loading…
x
Reference in New Issue
Block a user