commit
1378f4a4d9
|
@ -2,9 +2,9 @@
|
|||
|
||||
LINUX_RELEASE?=1
|
||||
|
||||
LINUX_VERSION-3.18 = .36
|
||||
LINUX_VERSION-3.18 = .44
|
||||
|
||||
LINUX_KERNEL_MD5SUM-3.18.36 = 31b1699c1285aeeb81fb25750baa50d9
|
||||
LINUX_KERNEL_MD5SUM-3.18.44 = 7c52da2f54381a84960118b5bf23381a
|
||||
|
||||
ifdef KERNEL_PATCHVER
|
||||
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -905,4 +905,12 @@ config GPIO_VIPERBOARD
|
||||
@@ -906,4 +906,12 @@ config GPIO_VIPERBOARD
|
||||
River Tech's viperboard.h for detailed meaning
|
||||
of the module parameters.
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
+#endif
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -821,7 +821,7 @@ config GPIO_MC33880
|
||||
@@ -822,7 +822,7 @@ config GPIO_MC33880
|
||||
|
||||
config GPIO_74X164
|
||||
tristate "74x164 serial-in/parallel-out 8-bits shift register"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -913,4 +913,9 @@ config GPIO_NXP_74HC153
|
||||
@@ -914,4 +914,9 @@ config GPIO_NXP_74HC153
|
||||
Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
|
||||
provides a GPIO interface supporting input mode only.
|
||||
|
||||
|
|
|
@ -626,9 +626,9 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
|
|||
#define QCA955X_REV_ID_REVISION_MASK 0xf
|
||||
|
||||
/*
|
||||
@@ -634,12 +747,32 @@
|
||||
#define AR934X_GPIO_REG_OUT_FUNC5 0x40
|
||||
#define AR934X_GPIO_REG_FUNC 0x6c
|
||||
@@ -642,12 +755,32 @@
|
||||
#define QCA955X_GPIO_REG_OUT_FUNC5 0x40
|
||||
#define QCA955X_GPIO_REG_FUNC 0x6c
|
||||
|
||||
+#define QCA953X_GPIO_REG_OUT_FUNC0 0x2c
|
||||
+#define QCA953X_GPIO_REG_OUT_FUNC1 0x30
|
||||
|
@ -659,7 +659,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
|
|||
#define QCA955X_GPIO_COUNT 24
|
||||
|
||||
/*
|
||||
@@ -663,6 +796,24 @@
|
||||
@@ -671,6 +804,24 @@
|
||||
#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13
|
||||
#define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7
|
||||
|
||||
|
@ -684,7 +684,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
|
|||
#define AR71XX_GPIO_FUNC_STEREO_EN BIT(17)
|
||||
#define AR71XX_GPIO_FUNC_SLIC_EN BIT(16)
|
||||
#define AR71XX_GPIO_FUNC_SPI_CS2_EN BIT(13)
|
||||
@@ -804,6 +955,16 @@
|
||||
@@ -877,6 +1028,16 @@
|
||||
#define AR934X_ETH_CFG_RDV_DELAY_SHIFT 16
|
||||
|
||||
/*
|
||||
|
|
|
@ -638,7 +638,7 @@
|
|||
/*
|
||||
* SPI block
|
||||
*/
|
||||
@@ -766,6 +868,19 @@
|
||||
@@ -774,6 +876,19 @@
|
||||
#define QCA953X_GPIO_OUT_MUX_LED_LINK4 44
|
||||
#define QCA953X_GPIO_OUT_MUX_LED_LINK5 45
|
||||
|
||||
|
@ -658,7 +658,7 @@
|
|||
#define AR71XX_GPIO_COUNT 16
|
||||
#define AR7240_GPIO_COUNT 18
|
||||
#define AR7241_GPIO_COUNT 20
|
||||
@@ -774,6 +889,7 @@
|
||||
@@ -782,6 +897,7 @@
|
||||
#define AR934X_GPIO_COUNT 23
|
||||
#define QCA953X_GPIO_COUNT 18
|
||||
#define QCA955X_GPIO_COUNT 24
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -763,6 +763,16 @@ config ATH79_MACH_CAP4200AG
|
||||
@@ -858,6 +858,16 @@ config ATH79_MACH_CAP4200AG
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
select SOC_QCA955X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
|
||||
@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
|
||||
obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
|
||||
obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
|
||||
obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -69,6 +69,7 @@ enum ath79_mach_type {
|
||||
@@ -75,6 +75,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
|
||||
ATH79_MACH_MR12, /* Cisco Meraki MR12 */
|
||||
ATH79_MACH_MR16, /* Cisco Meraki MR16 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -799,6 +799,15 @@ config ATH79_MACH_OM5P
|
||||
@@ -779,6 +779,15 @@ config ATH79_MACH_OM5P
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -100,6 +100,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += m
|
||||
@@ -97,6 +97,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += m
|
||||
obj-$(CONFIG_ATH79_MACH_NBG460N) += mach-nbg460n.o
|
||||
obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
|
||||
obj-$(CONFIG_ATH79_MACH_OM5P) += mach-om5p.o
|
||||
|
@ -28,7 +28,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -95,6 +95,7 @@ enum ath79_mach_type {
|
||||
@@ -92,6 +92,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
|
||||
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
|
||||
ATH79_MACH_OM2P, /* OpenMesh OM2P */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -808,6 +808,16 @@ config ATH79_MACH_OM5P_AC
|
||||
@@ -788,6 +788,16 @@ config ATH79_MACH_OM5P_AC
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -101,6 +101,7 @@ obj-$(CONFIG_ATH79_MACH_NBG460N) += mach
|
||||
@@ -98,6 +98,7 @@ obj-$(CONFIG_ATH79_MACH_NBG460N) += mach
|
||||
obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
|
||||
obj-$(CONFIG_ATH79_MACH_OM5P) += mach-om5p.o
|
||||
obj-$(CONFIG_ATH79_MACH_OM5P_AC) += mach-om5pac.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -96,6 +96,7 @@ enum ath79_mach_type {
|
||||
@@ -93,6 +93,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
|
||||
ATH79_MACH_OM2P, /* OpenMesh OM2P */
|
||||
ATH79_MACH_OM5P_AC, /* OpenMesh OM5P-AC */
|
||||
|
|
|
@ -840,7 +840,7 @@
|
|||
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -3678,14 +3678,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -3683,14 +3683,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -179,6 +179,7 @@ enum ath79_mach_type {
|
||||
@@ -184,6 +184,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
|
||||
ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
|
||||
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -896,6 +896,16 @@ config ATH79_MACH_EAP7660D
|
||||
@@ -925,6 +925,16 @@ config ATH79_MACH_EAP7660D
|
||||
select ATH79_DEV_LEDS_GPIO
|
||||
select ATH79_DEV_M25P80
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
select ATH79_DEV_ETH
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -206,6 +206,7 @@ enum ath79_mach_type {
|
||||
@@ -211,6 +211,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_WNR2200, /* NETGEAR WNR2200 */
|
||||
ATH79_MACH_WNR612_V2, /* NETGEAR WNR612 v2 */
|
||||
ATH79_MACH_WNR1000_V2, /* NETGEAR WNR1000 v2 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -152,6 +152,7 @@ enum ath79_mach_type {
|
||||
@@ -157,6 +157,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
|
||||
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
|
||||
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
|
||||
|
@ -10,7 +10,7 @@
|
|||
ATH79_MACH_TL_WDR4900_V2, /* TP-LINK TL-WDR4900 v2 */
|
||||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -1023,6 +1023,15 @@ config ATH79_MACH_TL_WA901ND_V2
|
||||
@@ -1052,6 +1052,15 @@ config ATH79_MACH_TL_WA901ND_V2
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
|||
select SOC_AR934X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -128,6 +128,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) +
|
||||
@@ -131,6 +131,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) +
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
if (!ath25_board.radio)
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -112,6 +112,13 @@ config GPIO_MAX730X
|
||||
@@ -113,6 +113,13 @@ config GPIO_MAX730X
|
||||
|
||||
comment "Memory mapped GPIO drivers:"
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
* workaround. Attempt to jump to the mips reset location -
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -112,6 +112,13 @@ config GPIO_MAX730X
|
||||
@@ -113,6 +113,13 @@ config GPIO_MAX730X
|
||||
|
||||
comment "Memory mapped GPIO drivers:"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Subject: [PATCH 024/114] config: Enable CONFIG_MEMCG, but leave it disabled
|
|||
CONFIG_SCHED_AUTOGROUP=y
|
||||
--- a/kernel/cgroup.c
|
||||
+++ b/kernel/cgroup.c
|
||||
@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *s
|
||||
@@ -5319,6 +5319,29 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ Hub overcurrent messages are more serious than "debug". Increase loglevel.
|
|||
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4934,7 +4934,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -4932,7 +4932,7 @@ static void port_event(struct usb_hub *h
|
||||
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
|
||||
u16 status = 0, unused;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -892,6 +892,14 @@ config GPIO_BCM_KONA
|
||||
@@ -893,6 +893,14 @@ config GPIO_BCM_KONA
|
||||
help
|
||||
Turn on GPIO support for Broadcom "Kona" chips.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/bcma/bcma_private.h
|
||||
+++ b/drivers/bcma/bcma_private.h
|
||||
@@ -24,6 +24,7 @@ struct bcma_bus;
|
||||
@@ -22,6 +22,7 @@ struct bcma_bus;
|
||||
/* main.c */
|
||||
bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
|
||||
int timeout);
|
||||
|
@ -223,7 +223,7 @@
|
|||
core->core_index, bcma_device_name(&core->id),
|
||||
--- a/include/linux/bcma/bcma.h
|
||||
+++ b/include/linux/bcma/bcma.h
|
||||
@@ -447,4 +447,6 @@ extern u32 bcma_chipco_pll_read(struct b
|
||||
@@ -448,4 +448,6 @@ extern u32 bcma_chipco_pll_read(struct b
|
||||
#define BCMA_DMA_TRANSLATION_DMA64_CMT 0x80000000 /* Client Mode Translation for 64-bit DMA */
|
||||
extern u32 bcma_core_dma_translation(struct bcma_device *core);
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/bcma/bcma_private.h
|
||||
+++ b/drivers/bcma/bcma_private.h
|
||||
@@ -25,22 +25,18 @@ struct bcma_bus;
|
||||
@@ -23,22 +23,18 @@ struct bcma_bus;
|
||||
bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
|
||||
int timeout);
|
||||
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
|
||||
|
@ -26,7 +26,7 @@
|
|||
|
||||
/* sprom.c */
|
||||
int bcma_sprom_get(struct bcma_bus *bus);
|
||||
@@ -111,6 +107,14 @@ extern int bcma_chipco_watchdog_register
|
||||
@@ -109,6 +105,14 @@ extern int bcma_chipco_watchdog_register
|
||||
#ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE
|
||||
bool bcma_core_pci_is_in_hostmode(struct bcma_drv_pci *pc);
|
||||
void bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc);
|
||||
|
@ -467,7 +467,7 @@
|
|||
if (!bus->drv_cc.core)
|
||||
--- a/include/linux/bcma/bcma.h
|
||||
+++ b/include/linux/bcma/bcma.h
|
||||
@@ -318,6 +318,7 @@ struct bcma_bus {
|
||||
@@ -319,6 +319,7 @@ struct bcma_bus {
|
||||
const struct bcma_host_ops *ops;
|
||||
|
||||
enum bcma_hosttype hosttype;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/bcma/bcma_private.h
|
||||
+++ b/drivers/bcma/bcma_private.h
|
||||
@@ -26,6 +26,7 @@ bool bcma_wait_value(struct bcma_device
|
||||
@@ -24,6 +24,7 @@ bool bcma_wait_value(struct bcma_device
|
||||
int timeout);
|
||||
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
|
||||
void bcma_init_bus(struct bcma_bus *bus);
|
||||
|
@ -8,7 +8,7 @@
|
|||
int bcma_bus_register(struct bcma_bus *bus);
|
||||
void bcma_bus_unregister(struct bcma_bus *bus);
|
||||
int __init bcma_bus_early_register(struct bcma_bus *bus);
|
||||
@@ -42,6 +43,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
|
||||
@@ -40,6 +41,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
|
||||
int bcma_sprom_get(struct bcma_bus *bus);
|
||||
|
||||
/* driver_chipcommon.c */
|
||||
|
@ -18,7 +18,7 @@
|
|||
#ifdef CONFIG_BCMA_DRIVER_MIPS
|
||||
void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
|
||||
extern struct platform_device bcma_pflash_dev;
|
||||
@@ -52,6 +56,8 @@ int bcma_core_chipcommon_b_init(struct b
|
||||
@@ -50,6 +54,8 @@ int bcma_core_chipcommon_b_init(struct b
|
||||
void bcma_core_chipcommon_b_free(struct bcma_drv_cc_b *ccb);
|
||||
|
||||
/* driver_chipcommon_pmu.c */
|
||||
|
@ -27,7 +27,7 @@
|
|||
u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc);
|
||||
u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc);
|
||||
|
||||
@@ -100,7 +106,35 @@ static inline void __exit bcma_host_soc_
|
||||
@@ -98,7 +104,35 @@ static inline void __exit bcma_host_soc_
|
||||
#endif /* CONFIG_BCMA_HOST_SOC && CONFIG_OF */
|
||||
|
||||
/* driver_pci.c */
|
||||
|
@ -63,7 +63,7 @@
|
|||
|
||||
extern int bcma_chipco_watchdog_register(struct bcma_drv_cc *cc);
|
||||
|
||||
@@ -117,6 +151,39 @@ static inline void bcma_core_pci_hostmod
|
||||
@@ -115,6 +149,39 @@ static inline void bcma_core_pci_hostmod
|
||||
}
|
||||
#endif /* CONFIG_BCMA_DRIVER_PCI_HOSTMODE */
|
||||
|
||||
|
@ -500,7 +500,7 @@
|
|||
}
|
||||
--- a/include/linux/bcma/bcma.h
|
||||
+++ b/include/linux/bcma/bcma.h
|
||||
@@ -434,6 +434,27 @@ static inline struct bcma_device *bcma_f
|
||||
@@ -435,6 +435,27 @@ static inline struct bcma_device *bcma_f
|
||||
return bcma_find_core_unit(bus, coreid, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -327,7 +327,7 @@
|
|||
#define BCMA_CORE_ARM_CA7 0x847
|
||||
#define BCMA_CORE_SYS_MEM 0x849
|
||||
#define BCMA_CORE_DEFAULT 0xFFF
|
||||
@@ -199,6 +201,7 @@ struct bcma_host_ops {
|
||||
@@ -200,6 +202,7 @@ struct bcma_host_ops {
|
||||
#define BCMA_PKG_ID_BCM4707 1
|
||||
#define BCMA_PKG_ID_BCM4708 2
|
||||
#define BCMA_PKG_ID_BCM4709 0
|
||||
|
@ -398,7 +398,7 @@
|
|||
extern u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc);
|
||||
--- a/drivers/bcma/bcma_private.h
|
||||
+++ b/drivers/bcma/bcma_private.h
|
||||
@@ -47,7 +47,6 @@ void bcma_core_chipcommon_early_init(str
|
||||
@@ -45,7 +45,6 @@ void bcma_core_chipcommon_early_init(str
|
||||
void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
|
||||
void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
|
||||
#ifdef CONFIG_BCMA_DRIVER_MIPS
|
||||
|
|
|
@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||
return ret;
|
||||
}
|
||||
|
||||
@@ -919,7 +918,7 @@ void fib_del_ifaddr(struct in_ifaddr *if
|
||||
@@ -923,7 +922,7 @@ no_promotions:
|
||||
#undef BRD1_OK
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||
{
|
||||
|
||||
struct fib_result res;
|
||||
@@ -929,6 +928,11 @@ static void nl_fib_lookup(struct fib_res
|
||||
@@ -933,6 +932,11 @@ static void nl_fib_lookup(struct fib_res
|
||||
.flowi4_tos = frn->fl_tos,
|
||||
.flowi4_scope = frn->fl_scope,
|
||||
};
|
||||
|
@ -155,7 +155,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||
|
||||
frn->err = -ENOENT;
|
||||
if (tb) {
|
||||
@@ -945,6 +949,8 @@ static void nl_fib_lookup(struct fib_res
|
||||
@@ -949,6 +953,8 @@ static void nl_fib_lookup(struct fib_res
|
||||
}
|
||||
local_bh_enable();
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||
}
|
||||
|
||||
static void nl_fib_input(struct sk_buff *skb)
|
||||
@@ -952,7 +958,6 @@ static void nl_fib_input(struct sk_buff
|
||||
@@ -956,7 +962,6 @@ static void nl_fib_input(struct sk_buff
|
||||
struct net *net;
|
||||
struct fib_result_nl *frn;
|
||||
struct nlmsghdr *nlh;
|
||||
|
@ -172,7 +172,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||
u32 portid;
|
||||
|
||||
net = sock_net(skb->sk);
|
||||
@@ -967,9 +972,7 @@ static void nl_fib_input(struct sk_buff
|
||||
@@ -971,9 +976,7 @@ static void nl_fib_input(struct sk_buff
|
||||
nlh = nlmsg_hdr(skb);
|
||||
|
||||
frn = (struct fib_result_nl *) nlmsg_data(nlh);
|
||||
|
|
|
@ -44,7 +44,7 @@ Miklos
|
|||
|
||||
--- a/fs/overlayfs/copy_up.c
|
||||
+++ b/fs/overlayfs/copy_up.c
|
||||
@@ -311,6 +311,9 @@ int ovl_copy_up_one(struct dentry *paren
|
||||
@@ -313,6 +313,9 @@ int ovl_copy_up_one(struct dentry *paren
|
||||
struct cred *override_cred;
|
||||
char *link = NULL;
|
||||
|
||||
|
@ -76,9 +76,9 @@ Miklos
|
|||
err = ovl_lock_rename_workdir(workdir, upperdir);
|
||||
if (err)
|
||||
goto out;
|
||||
@@ -506,6 +512,9 @@ static int ovl_remove_and_whiteout(struc
|
||||
struct dentry *opaquedir = NULL;
|
||||
@@ -507,6 +513,9 @@ static int ovl_remove_and_whiteout(struc
|
||||
int err;
|
||||
int flags = 0;
|
||||
|
||||
+ if (WARN_ON(!workdir))
|
||||
+ return -EROFS;
|
||||
|
@ -88,7 +88,7 @@ Miklos
|
|||
err = PTR_ERR(opaquedir);
|
||||
--- a/fs/overlayfs/super.c
|
||||
+++ b/fs/overlayfs/super.c
|
||||
@@ -741,9 +741,15 @@ static int ovl_fill_super(struct super_b
|
||||
@@ -760,9 +760,15 @@ static int ovl_fill_super(struct super_b
|
||||
ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
|
||||
err = PTR_ERR(ufs->workdir);
|
||||
if (IS_ERR(ufs->workdir)) {
|
||||
|
|
|
@ -164,7 +164,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
|
|||
module_free(mod, mod->module_init);
|
||||
kfree(mod->args);
|
||||
percpu_modfree(mod);
|
||||
@@ -2978,6 +2983,7 @@ static struct module *layout_and_allocat
|
||||
@@ -2983,6 +2988,7 @@ static struct module *layout_and_allocat
|
||||
static void module_deallocate(struct module *mod, struct load_info *info)
|
||||
{
|
||||
percpu_modfree(mod);
|
||||
|
@ -172,7 +172,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
|
|||
module_free(mod, mod->module_init);
|
||||
module_free(mod, mod->module_core);
|
||||
}
|
||||
@@ -3100,6 +3106,7 @@ static int do_init_module(struct module
|
||||
@@ -3105,6 +3111,7 @@ static int do_init_module(struct module
|
||||
rcu_assign_pointer(mod->kallsyms, &mod->core_kallsyms);
|
||||
#endif
|
||||
unset_module_init_ro_nx(mod);
|
||||
|
|
|
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
config INIT_ALL_POSSIBLE
|
||||
--- a/kernel/module.c
|
||||
+++ b/kernel/module.c
|
||||
@@ -2694,6 +2694,7 @@ static struct module *setup_load_info(st
|
||||
@@ -2699,6 +2699,7 @@ static struct module *setup_load_info(st
|
||||
|
||||
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
|
||||
{
|
||||
|
@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
const char *modmagic = get_modinfo(info, "vermagic");
|
||||
int err;
|
||||
|
||||
@@ -2719,6 +2720,7 @@ static int check_modinfo(struct module *
|
||||
@@ -2724,6 +2725,7 @@ static int check_modinfo(struct module *
|
||||
pr_warn("%s: module is from the staging directory, the quality "
|
||||
"is unknown, you have been warned.\n", mod->name);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1209,6 +1209,49 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1212,6 +1212,49 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1298,6 +1341,12 @@ static int __init ubi_init(void)
|
||||
@@ -1301,6 +1344,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/fs/ubifs/file.c
|
||||
+++ b/fs/ubifs/file.c
|
||||
@@ -1573,6 +1573,10 @@ const struct inode_operations ubifs_syml
|
||||
@@ -1597,6 +1597,10 @@ const struct inode_operations ubifs_syml
|
||||
.follow_link = ubifs_follow_link,
|
||||
.setattr = ubifs_setattr,
|
||||
.getattr = ubifs_getattr,
|
||||
|
|
|
@ -50,25 +50,16 @@
|
|||
static bool
|
||||
ip_checkentry(const struct ipt_ip *ip)
|
||||
{
|
||||
@@ -565,7 +591,7 @@ static void cleanup_match(struct xt_entr
|
||||
}
|
||||
|
||||
static int
|
||||
-check_entry(const struct ipt_entry *e, const char *name)
|
||||
+check_entry(struct ipt_entry *e, const char *name)
|
||||
{
|
||||
const struct xt_entry_target *t;
|
||||
|
||||
@@ -574,6 +600,8 @@ check_entry(const struct ipt_entry *e, c
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -650,6 +676,8 @@ find_check_entry(struct ipt_entry *e, st
|
||||
struct xt_mtchk_param mtpar;
|
||||
struct xt_entry_match *ematch;
|
||||
|
||||
+ ip_checkdefault(&e->ip);
|
||||
+
|
||||
if (e->target_offset + sizeof(struct xt_entry_target) >
|
||||
e->next_offset)
|
||||
return -EINVAL;
|
||||
@@ -935,6 +963,7 @@ copy_entries_to_user(unsigned int total_
|
||||
j = 0;
|
||||
mtpar.net = net;
|
||||
mtpar.table = name;
|
||||
@@ -942,6 +970,7 @@ copy_entries_to_user(unsigned int total_
|
||||
const struct xt_table_info *private = table->private;
|
||||
int ret = 0;
|
||||
const void *loc_cpu_entry;
|
||||
|
@ -76,7 +67,7 @@
|
|||
|
||||
counters = alloc_counters(table);
|
||||
if (IS_ERR(counters))
|
||||
@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
|
||||
@@ -972,6 +1001,14 @@ copy_entries_to_user(unsigned int total_
|
||||
ret = -EFAULT;
|
||||
goto free_counters;
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3408,6 +3411,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3409,6 +3412,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3459,6 +3472,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3460,6 +3473,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
|
||||
u32 banned_flags)
|
||||
@@ -5467,6 +5466,9 @@ int __init addrconf_init(void)
|
||||
@@ -5469,6 +5468,9 @@ int __init addrconf_init(void)
|
||||
|
||||
ipv6_addr_label_rtnl_register();
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
return 0;
|
||||
errout:
|
||||
rtnl_af_unregister(&inet6_ops);
|
||||
@@ -5486,6 +5488,9 @@ void addrconf_cleanup(void)
|
||||
@@ -5488,6 +5490,9 @@ void addrconf_cleanup(void)
|
||||
struct net_device *dev;
|
||||
int i;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ commont qdiscs.
|
|||
|
||||
--- a/net/sched/sch_codel.c
|
||||
+++ b/net/sched/sch_codel.c
|
||||
@@ -96,6 +96,8 @@ static int codel_qdisc_enqueue(struct sk
|
||||
@@ -97,6 +97,8 @@ static int codel_qdisc_enqueue(struct sk
|
||||
struct codel_sched_data *q;
|
||||
|
||||
if (likely(qdisc_qlen(sch) < sch->limit)) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/net/sched/sch_fq_codel.c
|
||||
+++ b/net/sched/sch_fq_codel.c
|
||||
@@ -387,9 +387,9 @@ static int fq_codel_init(struct Qdisc *s
|
||||
@@ -394,9 +394,9 @@ static int fq_codel_init(struct Qdisc *s
|
||||
struct fq_codel_sched_data *q = qdisc_priv(sch);
|
||||
int i;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
device, it has to decide which ones to send first, which ones to
|
||||
--- a/net/sched/sch_fq_codel.c
|
||||
+++ b/net/sched/sch_fq_codel.c
|
||||
@@ -592,7 +592,7 @@ static const struct Qdisc_class_ops fq_c
|
||||
@@ -599,7 +599,7 @@ static const struct Qdisc_class_ops fq_c
|
||||
.walk = fq_codel_walk,
|
||||
};
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
.cl_ops = &fq_codel_class_ops,
|
||||
.id = "fq_codel",
|
||||
.priv_size = sizeof(struct fq_codel_sched_data),
|
||||
@@ -608,6 +608,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
|
||||
@@ -615,6 +615,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
|
||||
.dump_stats = fq_codel_dump_stats,
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
@ -51,7 +51,7 @@
|
|||
EXPORT_SYMBOL(default_qdisc_ops);
|
||||
|
||||
/* Main transmission queue. */
|
||||
@@ -739,7 +739,7 @@ static void attach_one_default_qdisc(str
|
||||
@@ -742,7 +742,7 @@ static void attach_one_default_qdisc(str
|
||||
|
||||
if (dev->tx_queue_len) {
|
||||
qdisc = qdisc_create_dflt(dev_queue,
|
||||
|
@ -84,7 +84,7 @@
|
|||
if (qdisc == NULL) {
|
||||
--- a/net/sched/sch_api.c
|
||||
+++ b/net/sched/sch_api.c
|
||||
@@ -1947,7 +1947,7 @@ static int __init pktsched_init(void)
|
||||
@@ -1949,7 +1949,7 @@ static int __init pktsched_init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -442,140 +442,6 @@ static struct Qdisc noqueue_qdisc = {
|
||||
@@ -445,140 +445,6 @@ static struct Qdisc noqueue_qdisc = {
|
||||
.busylock = __SPIN_LOCK_UNLOCKED(noqueue_qdisc.busylock),
|
||||
};
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
/* The Mellanox Tavor device gives false positive parity errors
|
||||
* Mark this device with a broken_parity_status, to allow
|
||||
* PCI scanning code to "skip" this now blacklisted device.
|
||||
@@ -2917,6 +2918,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -2929,6 +2930,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
|
||||
/*
|
||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
|
||||
@@ -2973,6 +2975,8 @@ static void fixup_debug_report(struct pc
|
||||
@@ -2985,6 +2987,8 @@ static void fixup_debug_report(struct pc
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
|||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||
@@ -3007,6 +3011,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3019,6 +3023,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
|
|
@ -830,7 +830,7 @@
|
|||
+be done automatically.
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -4279,6 +4279,11 @@ T: git git://linuxtv.org/anttip/media_tr
|
||||
@@ -4289,6 +4289,11 @@ T: git git://linuxtv.org/anttip/media_tr
|
||||
S: Maintained
|
||||
F: drivers/media/usb/hackrf/
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
+MODULE_LICENSE("GPL");
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -1801,6 +1801,7 @@ int wake_up_state(struct task_struct *p,
|
||||
@@ -1823,6 +1823,7 @@ int wake_up_state(struct task_struct *p,
|
||||
{
|
||||
return try_to_wake_up(p, state, 0);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -794,6 +794,14 @@ config GPIO_RDC321X
|
||||
@@ -795,6 +795,14 @@ config GPIO_RDC321X
|
||||
Support for the RDC R321x SoC GPIOs over southbridge
|
||||
PCI configuration space.
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
case UPIO_AU:
|
||||
p->serial_out(p, offset, value);
|
||||
p->serial_in(p, UART_LCR); /* safe, no side-effects */
|
||||
@@ -2655,6 +2675,7 @@ static int serial8250_request_std_resour
|
||||
@@ -2649,6 +2669,7 @@ static int serial8250_request_std_resour
|
||||
case UPIO_TSI:
|
||||
case UPIO_MEM32:
|
||||
case UPIO_MEM:
|
||||
|
@ -49,7 +49,7 @@
|
|||
if (!port->mapbase)
|
||||
break;
|
||||
|
||||
@@ -2691,6 +2712,7 @@ static void serial8250_release_std_resou
|
||||
@@ -2685,6 +2706,7 @@ static void serial8250_release_std_resou
|
||||
case UPIO_TSI:
|
||||
case UPIO_MEM32:
|
||||
case UPIO_MEM:
|
||||
|
@ -57,7 +57,7 @@
|
|||
if (!port->mapbase)
|
||||
break;
|
||||
|
||||
@@ -3424,6 +3446,7 @@ static int serial8250_probe(struct platf
|
||||
@@ -3418,6 +3440,7 @@ static int serial8250_probe(struct platf
|
||||
uart.port.set_termios = p->set_termios;
|
||||
uart.port.pm = p->pm;
|
||||
uart.port.dev = &dev->dev;
|
||||
|
@ -65,7 +65,7 @@
|
|||
uart.port.irqflags |= irqflag;
|
||||
ret = serial8250_register_8250_port(&uart);
|
||||
if (ret < 0) {
|
||||
@@ -3580,6 +3603,7 @@ int serial8250_register_8250_port(struct
|
||||
@@ -3574,6 +3597,7 @@ int serial8250_register_8250_port(struct
|
||||
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
|
||||
uart->bugs = up->bugs;
|
||||
uart->port.mapbase = up->port.mapbase;
|
||||
|
|
|
@ -20,7 +20,7 @@ Subject: [PATCH 32/36] USB: fix roothub for IFXHCD
|
|||
choice
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4323,7 +4323,7 @@ hub_port_init (struct usb_hub *hub, stru
|
||||
@@ -4321,7 +4321,7 @@ hub_port_init (struct usb_hub *hub, stru
|
||||
udev->ttport = hdev->ttport;
|
||||
} else if (udev->speed != USB_SPEED_HIGH
|
||||
&& hdev->speed == USB_SPEED_HIGH) {
|
||||
|
|
|
@ -93,7 +93,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
|||
|
||||
return NOTIFY_OK;
|
||||
}
|
||||
@@ -405,14 +353,9 @@ static int coherency_type(void)
|
||||
@@ -399,14 +347,9 @@ static int coherency_type(void)
|
||||
return type;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
|||
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -223,6 +223,11 @@ config GPIO_MVEBU
|
||||
@@ -224,6 +224,11 @@ config GPIO_MVEBU
|
||||
select GPIO_GENERIC
|
||||
select GENERIC_IRQ_CHIP
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -504,6 +504,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
|
||||
armada-385-linksys-caiman.dtb \
|
||||
@@ -505,6 +505,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
|
||||
armada-385-linksys-cobra.dtb \
|
||||
armada-385-linksys-rango.dtb \
|
||||
armada-385-linksys-shelby.dtb \
|
||||
+ armada-388-clearfog.dtb \
|
||||
armada-385-rd.dtb
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/usb/xhci_pdriver.h>
|
||||
|
||||
@@ -158,12 +159,27 @@ static int xhci_plat_probe(struct platfo
|
||||
@@ -161,12 +162,27 @@ static int xhci_plat_probe(struct platfo
|
||||
if (HCC_MAX_PSA(xhci->hcc_params) >= 4)
|
||||
xhci->shared_hcd->can_do_streams = 1;
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
|||
put_usb3_hcd:
|
||||
usb_put_hcd(xhci->shared_hcd);
|
||||
|
||||
@@ -187,6 +203,7 @@ static int xhci_plat_remove(struct platf
|
||||
@@ -190,6 +206,7 @@ static int xhci_plat_remove(struct platf
|
||||
struct clk *clk = xhci->clk;
|
||||
|
||||
usb_remove_hcd(xhci->shared_hcd);
|
||||
|
|
|
@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
|
||||
--- a/drivers/tty/serial/8250/8250_core.c
|
||||
+++ b/drivers/tty/serial/8250/8250_core.c
|
||||
@@ -2634,7 +2634,7 @@ serial8250_pm(struct uart_port *port, un
|
||||
@@ -2628,7 +2628,7 @@ serial8250_pm(struct uart_port *port, un
|
||||
static unsigned int serial8250_port_size(struct uart_8250_port *pt)
|
||||
{
|
||||
if (pt->port.iotype == UPIO_AU)
|
||||
|
|
|
@ -47,7 +47,7 @@ Cc: linux-gpio@vger.kernel.org
|
|||
+#endif /* __ASM_MACH_RALINK_GPIO_H */
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -288,6 +288,12 @@ config GPIO_SCH311X
|
||||
@@ -289,6 +289,12 @@ config GPIO_SCH311X
|
||||
To compile this driver as a module, choose M here: the module will
|
||||
be called gpio-sch311x.
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
bool "SGI IP22 (Indy/Indigo2)"
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -898,6 +898,12 @@ config GPIO_BCM_KONA
|
||||
@@ -899,6 +899,12 @@ config GPIO_BCM_KONA
|
||||
help
|
||||
Turn on GPIO support for Broadcom "Kona" chips.
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
/* EHCI, OHCI */
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -1306,7 +1306,7 @@ static void hub_quiesce(struct usb_hub *
|
||||
@@ -1304,7 +1304,7 @@ static void hub_quiesce(struct usb_hub *
|
||||
if (type != HUB_SUSPEND) {
|
||||
/* Disconnect all the children */
|
||||
for (i = 0; i < hdev->maxchild; ++i) {
|
||||
|
@ -5087,7 +5087,7 @@
|
|||
|
||||
return 1;
|
||||
}
|
||||
@@ -2820,6 +2824,7 @@ static int prepare_ring(struct xhci_hcd
|
||||
@@ -2843,6 +2847,7 @@ static int prepare_ring(struct xhci_hcd
|
||||
next = ring->enqueue;
|
||||
|
||||
while (last_trb(xhci, ring, ring->enq_seg, next)) {
|
||||
|
@ -5095,7 +5095,7 @@
|
|||
/* If we're not dealing with 0.95 hardware or isoc rings
|
||||
* on AMD 0.96 host, clear the chain bit.
|
||||
*/
|
||||
@@ -2829,6 +2834,9 @@ static int prepare_ring(struct xhci_hcd
|
||||
@@ -2852,6 +2857,9 @@ static int prepare_ring(struct xhci_hcd
|
||||
next->link.control &= cpu_to_le32(~TRB_CHAIN);
|
||||
else
|
||||
next->link.control |= cpu_to_le32(TRB_CHAIN);
|
||||
|
@ -5105,7 +5105,7 @@
|
|||
|
||||
wmb();
|
||||
next->link.control ^= cpu_to_le32(TRB_CYCLE);
|
||||
@@ -2959,6 +2967,9 @@ static void giveback_first_trb(struct xh
|
||||
@@ -2982,6 +2990,9 @@ static void giveback_first_trb(struct xh
|
||||
start_trb->field[3] |= cpu_to_le32(start_cycle);
|
||||
else
|
||||
start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
|
||||
|
@ -5115,7 +5115,7 @@
|
|||
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
|
||||
}
|
||||
|
||||
@@ -3014,6 +3025,29 @@ static u32 xhci_td_remainder(unsigned in
|
||||
@@ -3037,6 +3048,29 @@ static u32 xhci_td_remainder(unsigned in
|
||||
return (remainder >> 10) << 17;
|
||||
}
|
||||
|
||||
|
@ -5145,7 +5145,7 @@
|
|||
/*
|
||||
* For xHCI 1.0 host controllers, TD size is the number of max packet sized
|
||||
* packets remaining in the TD (*not* including this TRB).
|
||||
@@ -3171,6 +3205,7 @@ static int queue_bulk_sg_tx(struct xhci_
|
||||
@@ -3194,6 +3228,7 @@ static int queue_bulk_sg_tx(struct xhci_
|
||||
}
|
||||
|
||||
/* Set the TRB length, TD size, and interrupter fields. */
|
||||
|
@ -5153,7 +5153,7 @@
|
|||
if (xhci->hci_version < 0x100) {
|
||||
remainder = xhci_td_remainder(
|
||||
urb->transfer_buffer_length -
|
||||
@@ -3180,6 +3215,12 @@ static int queue_bulk_sg_tx(struct xhci_
|
||||
@@ -3203,6 +3238,12 @@ static int queue_bulk_sg_tx(struct xhci_
|
||||
trb_buff_len, total_packet_count, urb,
|
||||
num_trbs - 1);
|
||||
}
|
||||
|
@ -5166,7 +5166,7 @@
|
|||
length_field = TRB_LEN(trb_buff_len) |
|
||||
remainder |
|
||||
TRB_INTR_TARGET(0);
|
||||
@@ -3244,6 +3285,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3267,6 +3308,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
int running_total, trb_buff_len, ret;
|
||||
unsigned int total_packet_count;
|
||||
u64 addr;
|
||||
|
@ -5176,7 +5176,7 @@
|
|||
|
||||
if (urb->num_sgs)
|
||||
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
|
||||
@@ -3268,6 +3312,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3291,6 +3335,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
num_trbs++;
|
||||
running_total += TRB_MAX_BUFF_SIZE;
|
||||
}
|
||||
|
@ -5202,7 +5202,7 @@
|
|||
|
||||
ret = prepare_transfer(xhci, xhci->devs[slot_id],
|
||||
ep_index, urb->stream_id,
|
||||
@@ -3344,6 +3407,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3367,6 +3430,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
field |= TRB_ISP;
|
||||
|
||||
/* Set the TRB length, TD size, and interrupter fields. */
|
||||
|
@ -5210,7 +5210,7 @@
|
|||
if (xhci->hci_version < 0x100) {
|
||||
remainder = xhci_td_remainder(
|
||||
urb->transfer_buffer_length -
|
||||
@@ -3353,6 +3417,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3376,6 +3440,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
trb_buff_len, total_packet_count, urb,
|
||||
num_trbs - 1);
|
||||
}
|
||||
|
@ -5221,7 +5221,7 @@
|
|||
length_field = TRB_LEN(trb_buff_len) |
|
||||
remainder |
|
||||
TRB_INTR_TARGET(0);
|
||||
@@ -3442,7 +3510,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
@@ -3465,7 +3533,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
field |= 0x1;
|
||||
|
||||
/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
|
||||
|
@ -5233,7 +5233,7 @@
|
|||
if (urb->transfer_buffer_length > 0) {
|
||||
if (setup->bRequestType & USB_DIR_IN)
|
||||
field |= TRB_TX_TYPE(TRB_DATA_IN);
|
||||
@@ -3466,7 +3538,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
@@ -3489,7 +3561,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
field = TRB_TYPE(TRB_DATA);
|
||||
|
||||
length_field = TRB_LEN(urb->transfer_buffer_length) |
|
||||
|
@ -5246,7 +5246,7 @@
|
|||
TRB_INTR_TARGET(0);
|
||||
if (urb->transfer_buffer_length > 0) {
|
||||
if (setup->bRequestType & USB_DIR_IN)
|
||||
@@ -3589,6 +3666,9 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
@@ -3612,6 +3689,9 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
u64 start_addr, addr;
|
||||
int i, j;
|
||||
bool more_trbs_coming;
|
||||
|
@ -5256,7 +5256,7 @@
|
|||
|
||||
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
|
||||
|
||||
@@ -3602,6 +3682,21 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
@@ -3625,6 +3705,21 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
start_trb = &ep_ring->enqueue->generic;
|
||||
start_cycle = ep_ring->cycle_state;
|
||||
|
||||
|
@ -5278,7 +5278,7 @@
|
|||
urb_priv = urb->hcpriv;
|
||||
/* Queue the first TRB, even if it's zero-length */
|
||||
for (i = 0; i < num_tds; i++) {
|
||||
@@ -3673,9 +3768,13 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
@@ -3696,9 +3791,13 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
} else {
|
||||
td->last_trb = ep_ring->enqueue;
|
||||
field |= TRB_IOC;
|
||||
|
@ -5292,7 +5292,7 @@
|
|||
/* Set BEI bit except for the last td */
|
||||
if (i < num_tds - 1)
|
||||
field |= TRB_BEI;
|
||||
@@ -3690,6 +3789,7 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
@@ -3713,6 +3812,7 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
trb_buff_len = td_remain_len;
|
||||
|
||||
/* Set the TRB length, TD size, & interrupter fields. */
|
||||
|
@ -5300,7 +5300,7 @@
|
|||
if (xhci->hci_version < 0x100) {
|
||||
remainder = xhci_td_remainder(
|
||||
td_len - running_total);
|
||||
@@ -3699,6 +3799,10 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
@@ -3722,6 +3822,10 @@ static int xhci_queue_isoc_tx(struct xhc
|
||||
total_packet_count, urb,
|
||||
(trbs_per_td - j - 1));
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ Changes in v2:
|
|||
+ };
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -9002,6 +9002,13 @@ F: arch/m68k/sun3*/
|
||||
@@ -9015,6 +9015,13 @@ F: arch/m68k/sun3*/
|
||||
F: arch/m68k/include/asm/sun3*
|
||||
F: drivers/net/ethernet/i825xx/sun3*
|
||||
|
||||
|
|
Loading…
Reference in New Issue