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 <hauke@hauke-m.de> SVN-Revision: 47252
This commit is contained in:
@@ -113,8 +113,6 @@ Date: Fri Sep 18 00:19:08 2015 +0100
|
||||
|
||||
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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);
|
||||
|
||||
|
||||
@@ -33,8 +33,6 @@ Date: Wed Sep 23 09:46:09 2015 +0100
|
||||
|
||||
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user