Changelog:
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.21
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@46847
3c298f89-4303-0410-b956-
a3cf2f4a3e73
17 files changed:
-LINUX_VERSION-3.18 = .20
+LINUX_VERSION-3.18 = .21
-LINUX_KERNEL_MD5SUM-3.18.20 = 952c9159acdf4efbc96e08a27109d994
+LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
| TCPOLEN_TIMESTAMP))
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
| TCPOLEN_TIMESTAMP))
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
-@@ -152,8 +152,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
+@@ -154,8 +154,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
if (!pskb_may_pull(skb, hlen))
return -EINVAL;
if (!pskb_may_pull(skb, hlen))
return -EINVAL;
-Index: linux-3.18.19/arch/mips/ath79/Kconfig
-===================================================================
---- linux-3.18.19.orig/arch/mips/ath79/Kconfig 2015-08-10 17:08:03.191320098 +0100
-+++ linux-3.18.19/arch/mips/ath79/Kconfig 2015-08-10 17:08:03.195320098 +0100
-@@ -866,6 +866,16 @@
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
+@@ -866,6 +866,16 @@ config ATH79_MACH_EAP7660D
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
config ATH79_MACH_ARCHER_C7
bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 board support"
select SOC_QCA955X
config ATH79_MACH_ARCHER_C7
bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 board support"
select SOC_QCA955X
-Index: linux-3.18.19/arch/mips/ath79/Makefile
-===================================================================
---- linux-3.18.19.orig/arch/mips/ath79/Makefile 2015-08-10 17:08:03.191320098 +0100
-+++ linux-3.18.19/arch/mips/ath79/Makefile 2015-08-10 17:08:03.195320098 +0100
-@@ -54,6 +54,7 @@
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
+@@ -54,6 +54,7 @@ obj-$(CONFIG_ATH79_MACH_AP96) += mach-a
obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
-Index: linux-3.18.19/arch/mips/ath79/machtypes.h
-===================================================================
---- linux-3.18.19.orig/arch/mips/ath79/machtypes.h 2015-08-10 17:08:03.191320098 +0100
-+++ linux-3.18.19/arch/mips/ath79/machtypes.h 2015-08-10 17:10:41.455317386 +0100
-@@ -37,6 +37,7 @@
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -37,6 +37,7 @@ enum ath79_mach_type {
ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
---
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
---
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
#address-cells = <1>;
#size-cells = <0>;
#address-cells = <1>;
#size-cells = <0>;
static void timer_set_mode(enum clock_event_mode mode,
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
static void timer_set_mode(enum clock_event_mode mode,
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -371,6 +371,25 @@ config I2C_BCM2835
+@@ -372,6 +372,25 @@ config I2C_BCM2835
This support is also available as a module. If so, the module
will be called i2c-bcm2835.
This support is also available as a module. If so, the module
will be called i2c-bcm2835.
bcm_register_device(&bcm2835_thermal_device);
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
bcm_register_device(&bcm2835_thermal_device);
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -361,7 +361,7 @@ config I2C_AXXIA
+@@ -362,7 +362,7 @@ config I2C_AXXIA
config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller"
config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller"
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -361,7 +361,7 @@ config I2C_AXXIA
+@@ -362,7 +362,7 @@ config I2C_AXXIA
config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller"
config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller"
help
If you say yes to this option, support will be included for the
BCM2835 I2C controller.
help
If you say yes to this option, support will be included for the
BCM2835 I2C controller.
-@@ -373,7 +373,7 @@ config I2C_BCM2835
+@@ -374,7 +374,7 @@ config I2C_BCM2835
config I2C_BCM2708
tristate "BCM2708 BSC"
config I2C_BCM2708
tristate "BCM2708 BSC"
#endif /* _ASM_R4KCACHE_H */
--- a/arch/mips/include/asm/stackframe.h
+++ b/arch/mips/include/asm/stackframe.h
#endif /* _ASM_R4KCACHE_H */
--- a/arch/mips/include/asm/stackframe.h
+++ b/arch/mips/include/asm/stackframe.h
.macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp)
.set arch=r4000
.macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp)
.set arch=r4000
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -416,6 +416,18 @@ config I2C_CBUS_GPIO
+@@ -417,6 +417,18 @@ config I2C_CBUS_GPIO
This driver can also be built as a module. If so, the module
will be called i2c-cbus-gpio.
This driver can also be built as a module. If so, the module
will be called i2c-cbus-gpio.
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4761,6 +4774,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4798,6 +4811,9 @@ static struct ata_queued_cmd *ata_qc_new
-@@ -5671,6 +5687,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
ata_sff_port_init(ap);
return ap;
-@@ -5692,6 +5711,12 @@ static void ata_host_release(struct devi
+@@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6138,7 +6163,23 @@ int ata_host_register(struct ata_host *h
+@@ -6175,7 +6200,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;
}
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
/*
* Define if arch has non-standard setup. This is a _PCI_ standard
/*
* Define if arch has non-standard setup. This is a _PCI_ standard
-@@ -872,6 +875,12 @@ struct ata_port {
+@@ -874,6 +877,12 @@ struct ata_port {
#ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif
#ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif
--- a/init/main.c
+++ b/init/main.c
--- a/init/main.c
+++ b/init/main.c
-@@ -962,7 +962,8 @@ static int __ref kernel_init(void *unuse
+@@ -963,7 +963,8 @@ static int __ref kernel_init(void *unuse
pr_err("Failed to execute %s (error %d). Attempting defaults...\n",
execute_command, ret);
}
pr_err("Failed to execute %s (error %d). Attempting defaults...\n",
execute_command, ret);
}
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -553,6 +553,16 @@ config I2C_KEMPLD
+@@ -554,6 +554,16 @@ config I2C_KEMPLD
This driver can also be built as a module. If so, the module
will be called i2c-kempld.
This driver can also be built as a module. If so, the module
will be called i2c-kempld.
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4757,6 +4765,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4794,6 +4802,9 @@ static struct ata_queued_cmd *ata_qc_new
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) {
if (ap->flags & ATA_FLAG_LOWTAG)
tag = i;
for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) {
if (ap->flags & ATA_FLAG_LOWTAG)
tag = i;
-@@ -4829,6 +4840,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4866,6 +4877,8 @@ void ata_qc_free(struct ata_queued_cmd *
if (likely(ata_tag_valid(tag))) {
qc->tag = ATA_TAG_POISON;
clear_bit(tag, &ap->qc_allocated);
if (likely(ata_tag_valid(tag))) {
qc->tag = ATA_TAG_POISON;
clear_bit(tag, &ap->qc_allocated);
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
-@@ -901,6 +901,8 @@ struct ata_port_operations {
+@@ -903,6 +903,8 @@ struct ata_port_operations {
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
/*
* Configuration and exception handling
/*
* Configuration and exception handling
-@@ -991,6 +993,9 @@ struct ata_port_operations {
+@@ -993,6 +995,9 @@ struct ata_port_operations {
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);
+};
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
+};
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -710,6 +710,10 @@ config I2C_RK3X
+@@ -711,6 +711,10 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
-@@ -4451,8 +4597,14 @@ static u16 xhci_call_host_update_timeout
+@@ -4454,8 +4600,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout)
{
if (state == USB3_LPM_U1)
u16 *timeout)
{
if (state == USB3_LPM_U1)
return xhci_calculate_u2_timeout(xhci, udev, desc);
return USB3_LPM_DISABLED;
return xhci_calculate_u2_timeout(xhci, udev, desc);
return USB3_LPM_DISABLED;
-@@ -4837,7 +4989,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
+@@ -4840,7 +4992,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
hcd->self.no_sg_constraint = 1;
/* XHCI controllers don't stop the ep queue on short packets :| */
hcd->self.no_sg_constraint = 1;
/* XHCI controllers don't stop the ep queue on short packets :| */
if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
-@@ -4900,6 +5054,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
+@@ -4903,6 +5057,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error;
xhci_dbg(xhci, "Reset complete\n");
goto error;
xhci_dbg(xhci, "Reset complete\n");
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
-@@ -4994,8 +5152,57 @@ MODULE_DESCRIPTION(DRIVER_DESC);
+@@ -4997,8 +5155,57 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL");
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL");
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
+@@ -675,7 +675,6 @@ static void __init arch_mem_init(char **
crashk_res.end - crashk_res.start + 1,
BOOTMEM_DEFAULT);
#endif
crashk_res.end - crashk_res.start + 1,
BOOTMEM_DEFAULT);
#endif
sparse_init();
plat_swiotlb_setup();
paging_init();
sparse_init();
plat_swiotlb_setup();
paging_init();
+@@ -784,6 +783,7 @@ void __init setup_arch(char **cmdline_p)
prefill_possible_map();
cpu_cache_init();
prefill_possible_map();
cpu_cache_init();
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -714,6 +714,10 @@ config I2C_RALINK
+@@ -715,6 +715,10 @@ config I2C_RALINK
tristate "Ralink I2C Controller"
select OF_I2C
tristate "Ralink I2C Controller"
select OF_I2C