LINUX_RELEASE?=1
-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)))
| 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;
-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
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_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 */
---
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
-@@ -123,6 +123,12 @@
+@@ -143,6 +143,12 @@
#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
-@@ -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.
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"
--- 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"
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"
#endif /* _ASM_R4KCACHE_H */
--- a/arch/mips/include/asm/stackframe.h
+++ b/arch/mips/include/asm/stackframe.h
-@@ -333,6 +333,10 @@
+@@ -358,6 +358,10 @@
.macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp)
.set arch=r4000
--- 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.
/**
* 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
break;
}
}
return qc;
}
-@@ -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
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);
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;
}
/*
* 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
--- 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);
}
--- 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.
/* 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;
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);
--- 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);
/*
* 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);
+};
--- 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.
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)
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 :| */
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");
/* 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");
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
-@@ -675,7 +675,6 @@
+@@ -675,7 +675,6 @@ static void __init arch_mem_init(char **
crashk_res.end - crashk_res.start + 1,
BOOTMEM_DEFAULT);
#endif
sparse_init();
plat_swiotlb_setup();
paging_init();
-@@ -784,6 +783,7 @@
+@@ -784,6 +783,7 @@ void __init setup_arch(char **cmdline_p)
prefill_possible_map();
cpu_cache_init();
--- 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