From a2f2aac2dc0cabbd130a1e596c923e770feb54e8 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 25 Oct 2015 17:32:01 +0000 Subject: kernel: update kernel 4.1 to version 4.1.11 https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.11 Signed-off-by: Hauke Mehrtens git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47252 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-4.1/760-8139cp-fixes-from-4.3.patch | 30 ++++++++++------------ .../patches-4.1/761-8139cp-fixes-from-4.4.patch | 10 +++----- .../810-pci_disable_common_quirks.patch | 6 ++--- .../generic/patches-4.1/902-debloat_proc.patch | 10 ++++---- .../patches-4.1/903-debloat_direct_io.patch | 4 +-- 5 files changed, 28 insertions(+), 32 deletions(-) (limited to 'target/linux/generic/patches-4.1') diff --git a/target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch b/target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch index 6cbcf2e9f7..832e425632 100644 --- a/target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch +++ b/target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch @@ -113,8 +113,6 @@ Date: Fri Sep 18 00:19:08 2015 +0100 Signed-off-by: David Woodhouse Signed-off-by: David S. Miller -diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c -index d79e33b..686334f 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c @@ -157,6 +157,7 @@ enum { @@ -133,7 +131,7 @@ index d79e33b..686334f 100644 unsigned rx_buf_sz; unsigned wol_enabled : 1; /* Is Wake-on-LAN enabled? */ -@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp) +@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp BUG_ON(!skb); dma_unmap_single(&cp->pdev->dev, le64_to_cpu(txd->addr), @@ -142,7 +140,7 @@ index d79e33b..686334f 100644 PCI_DMA_TODEVICE); if (status & LastFrag) { -@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct { struct cp_private *cp = netdev_priv(dev); unsigned entry; @@ -151,7 +149,7 @@ index d79e33b..686334f 100644 unsigned long intr_flags; __le32 opts2; int mss = 0; -@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct mss = skb_shinfo(skb)->gso_size; opts2 = cpu_to_le32(cp_tx_vlan_tag(skb)); @@ -173,7 +171,7 @@ index d79e33b..686334f 100644 if (skb_shinfo(skb)->nr_frags == 0) { struct cp_desc *txd = &cp->tx_ring[entry]; -@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct txd->addr = cpu_to_le64(mapping); wmb(); @@ -211,7 +209,7 @@ index d79e33b..686334f 100644 /* We must give this initial chunk to the device last. * Otherwise we could race with the device. -@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct goto out_dma_error; cp->tx_skb[entry] = skb; @@ -228,7 +226,7 @@ index d79e33b..686334f 100644 len = skb_frag_size(this_frag); mapping = dma_map_single(&cp->pdev->dev, skb_frag_address(this_frag), -@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0; @@ -249,7 +247,7 @@ index d79e33b..686334f 100644 if (frag == skb_shinfo(skb)->nr_frags - 1) ctrl |= LastFrag; -@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct txd->opts1 = cpu_to_le32(ctrl); wmb(); @@ -259,7 +257,7 @@ index d79e33b..686334f 100644 } txd = &cp->tx_ring[first_entry]; -@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct txd->addr = cpu_to_le64(first_mapping); wmb(); @@ -294,7 +292,7 @@ index d79e33b..686334f 100644 if (TX_BUFFS_AVAIL(cp) <= (MAX_SKB_FRAGS + 1)) netif_stop_queue(dev); -@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_private *cp) +@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_priv { memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE); cp->tx_ring[CP_TX_RING_SIZE - 1].opts1 = cpu_to_le32(RingEnd); @@ -302,7 +300,7 @@ index d79e33b..686334f 100644 cp_init_rings_index(cp); -@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_pr desc = cp->rx_ring + i; dma_unmap_single(&cp->pdev->dev,le64_to_cpu(desc->addr), cp->rx_buf_sz, PCI_DMA_FROMDEVICE); @@ -311,7 +309,7 @@ index d79e33b..686334f 100644 } } -@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_pr le32_to_cpu(desc->opts1) & 0xffff, PCI_DMA_TODEVICE); if (le32_to_cpu(desc->opts1) & LastFrag) @@ -320,7 +318,7 @@ index d79e33b..686334f 100644 cp->dev->stats.tx_dropped++; } } -@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_pr memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE); memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE); @@ -328,7 +326,7 @@ index d79e33b..686334f 100644 memset(cp->rx_skb, 0, sizeof(struct sk_buff *) * CP_RX_RING_SIZE); memset(cp->tx_skb, 0, sizeof(struct sk_buff *) * CP_TX_RING_SIZE); -@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_device *dev) +@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_dev { struct cp_private *cp = netdev_priv(dev); unsigned long flags; @@ -337,7 +335,7 @@ index d79e33b..686334f 100644 netdev_warn(dev, "Transmit timeout, status %2x %4x %4x %4x\n", cpr8(Cmd), cpr16(CpCmd), -@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_device *dev) +@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_dev spin_lock_irqsave(&cp->lock, flags); diff --git a/target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch b/target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch index cb605e531c..8fdf5f382f 100644 --- a/target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch +++ b/target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch @@ -33,8 +33,6 @@ Date: Wed Sep 23 09:46:09 2015 +0100 Signed-off-by: David Woodhouse Signed-off-by: David S. Miller -diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c -index 686334f..deae10d 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c @@ -175,7 +175,7 @@ enum { @@ -46,7 +44,7 @@ index 686334f..deae10d 100644 TxError = (1 << 23), /* Tx error summary */ RxError = (1 << 20), /* Rx error summary */ IPCS = (1 << 18), /* Calculate IP checksum */ -@@ -754,10 +754,16 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -754,10 +754,16 @@ static netdev_tx_t cp_start_xmit (struct eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0; mss = skb_shinfo(skb)->gso_size; @@ -64,7 +62,7 @@ index 686334f..deae10d 100644 else if (skb->ip_summed == CHECKSUM_PARTIAL) { const struct iphdr *ip = ip_hdr(skb); if (ip->protocol == IPPROTO_TCP) -@@ -1852,6 +1858,15 @@ static void cp_set_d3_state (struct cp_private *cp) +@@ -1852,6 +1858,15 @@ static void cp_set_d3_state (struct cp_p pci_set_power_state (cp->pdev, PCI_D3hot); } @@ -80,7 +78,7 @@ index 686334f..deae10d 100644 static const struct net_device_ops cp_netdev_ops = { .ndo_open = cp_open, .ndo_stop = cp_close, -@@ -1864,6 +1879,7 @@ static const struct net_device_ops cp_netdev_ops = { +@@ -1864,6 +1879,7 @@ static const struct net_device_ops cp_ne .ndo_tx_timeout = cp_tx_timeout, .ndo_set_features = cp_set_features, .ndo_change_mtu = cp_change_mtu, @@ -88,7 +86,7 @@ index 686334f..deae10d 100644 #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = cp_poll_controller, -@@ -1983,12 +1999,12 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -1983,12 +1999,12 @@ static int cp_init_one (struct pci_dev * dev->ethtool_ops = &cp_ethtool_ops; dev->watchdog_timeo = TX_TIMEOUT; diff --git a/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch index 325d189912..89d93e1a9e 100644 --- a/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch @@ -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. -@@ -2949,6 +2950,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -2965,6 +2966,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 -@@ -3005,6 +3007,8 @@ static void fixup_debug_report(struct pc +@@ -3021,6 +3023,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). -@@ -3039,6 +3043,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3055,6 +3059,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); diff --git a/target/linux/generic/patches-4.1/902-debloat_proc.patch b/target/linux/generic/patches-4.1/902-debloat_proc.patch index bf85100283..8207dadffe 100644 --- a/target/linux/generic/patches-4.1/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.1/902-debloat_proc.patch @@ -79,17 +79,17 @@ } --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c -@@ -325,6 +325,9 @@ void register_irq_proc(unsigned int irq, - { +@@ -327,6 +327,9 @@ void register_irq_proc(unsigned int irq, + static DEFINE_MUTEX(register_lock); char name [MAX_NAMELEN]; + if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP)) + return; + - if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip) || desc->dir) + if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip)) return; -@@ -361,6 +364,9 @@ void unregister_irq_proc(unsigned int ir +@@ -376,6 +379,9 @@ void unregister_irq_proc(unsigned int ir { char name [MAX_NAMELEN]; @@ -99,7 +99,7 @@ if (!root_irq_dir || !desc->dir) return; #ifdef CONFIG_SMP -@@ -396,6 +402,9 @@ void init_irq_proc(void) +@@ -411,6 +417,9 @@ void init_irq_proc(void) unsigned int irq; struct irq_desc *desc; diff --git a/target/linux/generic/patches-4.1/903-debloat_direct_io.patch b/target/linux/generic/patches-4.1/903-debloat_direct_io.patch index b428a0cffc..0bc9040170 100644 --- a/target/linux/generic/patches-4.1/903-debloat_direct_io.patch +++ b/target/linux/generic/patches-4.1/903-debloat_direct_io.patch @@ -26,7 +26,7 @@ endif --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -2649,6 +2649,7 @@ enum { +@@ -2647,6 +2647,7 @@ enum { DIO_SKIP_DIO_COUNT = 0x08, }; @@ -34,7 +34,7 @@ void dio_end_io(struct bio *bio, int error); ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode, -@@ -2656,6 +2657,18 @@ ssize_t __blockdev_direct_IO(struct kioc +@@ -2654,6 +2655,18 @@ ssize_t __blockdev_direct_IO(struct kioc loff_t offset, get_block_t get_block, dio_iodone_t end_io, dio_submit_t submit_io, int flags); -- cgit v1.2.3