Refresh patches.
Compile-tested on ar71xx, octeon.
Runtime-tested on ar71xx, octeon.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .71
+LINUX_VERSION-4.4 = .74
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.71 = 44cd5532d6df32197fd0f89e6f8c542fcfb76b52155a4d3a609ef4898522e6ab
+LINUX_KERNEL_HASH-4.4.74 = c319ad6150d112bd4f8c9d1427868eeafd3ab461becf9457f814e4ba7c57808e
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
#include "xhci.h"
#include "xhci-trace.h"
-@@ -221,6 +223,458 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -224,6 +226,458 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */
/* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd)
{
-@@ -260,6 +714,22 @@ static int xhci_pci_probe(struct pci_dev
+@@ -263,6 +717,22 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;
driver = (struct hc_driver *)id->driver_data;
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -317,6 +787,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -320,6 +790,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4967,7 +4967,7 @@ static void port_event(struct usb_hub *h
+@@ -4973,7 +4973,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
depends on X86_THERMAL_VECTOR
--- a/drivers/thermal/Makefile
+++ b/drivers/thermal/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_t
+@@ -39,6 +39,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_t
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o
obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -6785,8 +6785,6 @@ int alloc_contig_range(unsigned long sta
+@@ -6804,8 +6804,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, false)) {
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -5326,7 +5326,7 @@ static void __init_refok alloc_node_mem_
+@@ -5345,7 +5345,7 @@ static void __init_refok alloc_node_mem_
mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
defect7374_enable_data_eps_zero(dev);
ep0_start(dev);
-@@ -3063,7 +3063,7 @@ static void handle_stat0_irqs(struct net
+@@ -3060,7 +3060,7 @@ static void handle_stat0_irqs(struct net
}
ep->stopped = 0;
dev->protocol_stall = 0;
if (ep->dev->quirks & PLX_2280)
tmp = BIT(FIFO_OVERFLOW) |
BIT(FIFO_UNDERFLOW);
-@@ -3090,7 +3090,7 @@ static void handle_stat0_irqs(struct net
+@@ -3087,7 +3087,7 @@ static void handle_stat0_irqs(struct net
cpu_to_le32s(&u.raw[0]);
cpu_to_le32s(&u.raw[1]);
defect7374_workaround(dev, u.r);
tmp = 0;
-@@ -3173,7 +3173,7 @@ static void handle_stat0_irqs(struct net
+@@ -3170,7 +3170,7 @@ static void handle_stat0_irqs(struct net
} else {
ep_vdbg(dev, "%s clear halt\n", e->ep.name);
clear_halt(e);
!list_empty(&e->queue) && e->td_dma)
restart_dma(e);
}
-@@ -3195,7 +3195,7 @@ static void handle_stat0_irqs(struct net
+@@ -3192,7 +3192,7 @@ static void handle_stat0_irqs(struct net
if (e->ep.name == ep0name)
goto do_stall;
set_halt(e);
abort_dma(e);
allow_status(ep);
ep_vdbg(dev, "%s set halt\n", ep->ep.name);
-@@ -3234,7 +3234,7 @@ do_stall:
+@@ -3231,7 +3231,7 @@ do_stall:
#undef w_length
next_endpoints:
u32 mask = (BIT(ENDPOINT_0_INTERRUPT) |
USB3380_IRQSTAT0_EP_INTR_MASK_IN |
USB3380_IRQSTAT0_EP_INTR_MASK_OUT);
-@@ -3399,7 +3399,7 @@ __acquires(dev->lock)
+@@ -3392,7 +3392,7 @@ static void handle_stat1_irqs(struct net
writel(tmp, &dma->dmastat);
/* dma sync*/
u32 r_dmacount = readl(&dma->dmacount);
if (!ep->is_in && (r_dmacount & 0x00FFFFFF) &&
(tmp & BIT(DMA_TRANSACTION_DONE_INTERRUPT)))
-@@ -3468,7 +3468,7 @@ static irqreturn_t net2280_irq(int irq,
+@@ -3461,7 +3461,7 @@ static irqreturn_t net2280_irq(int irq,
/* control requests and PIO */
handle_stat0_irqs(dev, readl(&dev->regs->irqstat0));
/* re-enable interrupt to trigger any possible new interrupt */
u32 pciirqenb1 = readl(&dev->regs->pciirqenb1);
writel(pciirqenb1 & 0x7FFFFFFF, &dev->regs->pciirqenb1);
-@@ -3513,7 +3513,7 @@ static void net2280_remove(struct pci_de
+@@ -3506,7 +3506,7 @@ static void net2280_remove(struct pci_de
}
if (dev->got_irq)
free_irq(pdev->irq, dev);
pci_disable_msi(pdev);
if (dev->regs)
iounmap(dev->regs);
-@@ -3593,7 +3593,7 @@ static int net2280_probe(struct pci_dev
+@@ -3586,7 +3586,7 @@ static int net2280_probe(struct pci_dev
dev->dep = (struct net2280_dep_regs __iomem *) (base + 0x0200);
dev->epregs = (struct net2280_ep_regs __iomem *) (base + 0x0300);
u32 fsmvalue;
u32 usbstat;
dev->usb_ext = (struct usb338x_usb_ext_regs __iomem *)
-@@ -3637,7 +3637,7 @@ static int net2280_probe(struct pci_dev
+@@ -3630,7 +3630,7 @@ static int net2280_probe(struct pci_dev
goto done;
}
if (pci_enable_msi(pdev))
ep_err(dev, "Failed to enable MSI mode\n");
-@@ -3755,10 +3755,19 @@ static const struct pci_device_id pci_id
+@@ -3748,10 +3748,19 @@ static const struct pci_device_id pci_id
.class = ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
.class_mask = ~0,
.vendor = PCI_VENDOR_ID_PLX,
},
{
.class = ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
-@@ -3767,7 +3776,7 @@ static const struct pci_device_id pci_id
+@@ -3760,7 +3769,7 @@ static const struct pci_device_id pci_id
.device = 0x3382,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2180,7 +2180,7 @@ static inline int pskb_network_may_pull(
+@@ -2177,7 +2177,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4246,6 +4246,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4248,6 +4248,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5405,6 +5408,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5404,6 +5407,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *private)
-@@ -5476,6 +5521,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5475,6 +5520,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
return 0;
-@@ -5602,6 +5648,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5601,6 +5647,7 @@ void netdev_upper_dev_unlink(struct net_
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6142,6 +6189,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6141,6 +6188,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2211,6 +2211,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2208,6 +2208,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -2315,16 +2319,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2312,16 +2316,6 @@ static inline struct sk_buff *dev_alloc_
}
endif
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -2717,6 +2717,7 @@ enum {
+@@ -2722,6 +2722,7 @@ enum {
DIO_SKIP_DIO_COUNT = 0x08,
};
void dio_end_io(struct bio *bio, int error);
ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
-@@ -2724,6 +2725,18 @@ ssize_t __blockdev_direct_IO(struct kioc
+@@ -2729,6 +2730,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);