[LEDE-DEV] [PATCH LEDE-17.01] kernel: bump to 4.4.46

Daniel Golle daniel at makrotopia.org
Thu Feb 2 12:25:54 PST 2017


This backports kernel bump commits from master branch into lede-17.01
20996edd68 Kernel: bump to 4.4.44
4d1515070b kernel: bump to 4.4.45
3becadd56c kernel: bump to 4.4.46

Refreshed patches for all supported targets, references to the chipidea
USB driver used to support usbgadget mode on ar71xx have been removed
since that feature is not part of the LEDE 17.01 release.

Fixes CVE-2016-8405, CVE-2016-9191, CVE-2017-2583, CVE-2017-2584 as
well as a fix for a fix related to CVE-2016-7097.

Tested-by: Stijn Segers <francesco.borromini at inventati.org>
Signed-off-by: Stijn Segers <francesco.borromini at inventati.org>
Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 include/kernel-version.mk                              |  4 ++--
 .../patches-4.4/910-unaligned_access_hacks.patch       |  4 ++--
 .../0111-mm-Remove-the-PFN-busy-warning.patch          |  2 +-
 ...R2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch |  2 +-
 .../cns3xxx/patches-4.4/200-broadcom_phy_reinit.patch  |  4 ++--
 .../680-NET-skip-GRO-for-foreign-MAC-addresses.patch   | 10 +++++-----
 ...10-serial-imx-repair-and-complete-handshaking.patch | 16 ++++++----------
 .../111-serial-imx-fix-polarity-of-RI.patch            |  7 +------
 ...imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch |  9 ++-------
 ...ial-imx-make-sure-unhandled-irqs-are-disabled.patch |  7 +------
 ...hci-mediatek-support-MTK-xHCI-host-controller.patch |  8 ++++----
 ...hci-mediatek-support-MTK-xHCI-host-controller.patch |  8 ++++----
 ...1-sp5100_tco-Add-AMD-Mullins-platform-support.patch |  6 +-----
 ...2-sp5100_tco-Add-AMD-Carrizo-platform-support.patch |  6 +-----
 ...the-device-check-for-SB800-and-later-chipsets.patch | 18 +++++++-----------
 ...g-sp5100_tco-properly-check-for-new-register-.patch | 12 ++++--------
 16 files changed, 44 insertions(+), 79 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index efd58e1462..e06841dbad 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -3,10 +3,10 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .42
+LINUX_VERSION-4.4 = .46
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.42 = 324747568e92f203e3ee5ec8b291a868f58b870f1ad214fa64aa3507ed42e878
+LINUX_KERNEL_HASH-4.4.46 = bb944846c5901aa2cadaa20c3d953ec03ff707dc1178e6ac3851e98747872058
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
index 21cad91161..2c014429f2 100644
--- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
@@ -491,7 +491,7 @@
  		memcpy(p, foc->val, foc->len);
 --- a/net/ipv4/igmp.c
 +++ b/net/ipv4/igmp.c
-@@ -500,7 +500,7 @@ static struct sk_buff *add_grec(struct s
+@@ -505,7 +505,7 @@ static struct sk_buff *add_grec(struct s
  		if (!skb)
  			return NULL;
  		psrc = (__be32 *)skb_put(skb, sizeof(__be32));
@@ -610,7 +610,7 @@
  			goto next_ht;
 --- a/net/ipv6/ip6_offload.c
 +++ b/net/ipv6/ip6_offload.c
-@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive
+@@ -222,7 +222,7 @@ static struct sk_buff **ipv6_gro_receive
  			continue;
  
  		iph2 = (struct ipv6hdr *)(p->data + off);
diff --git a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
index f643ec883c..a0602807ba 100644
--- a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
+++ b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -6782,8 +6782,6 @@ int alloc_contig_range(unsigned long sta
+@@ -6785,8 +6785,6 @@ int alloc_contig_range(unsigned long sta
  
  	/* Make sure the range is really isolated. */
  	if (test_pages_isolated(outer_start, end, false)) {
diff --git a/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch b/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
index c58830ac6f..db2c29fc92 100644
--- a/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
+++ b/target/linux/cns3xxx/patches-4.4/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
@@ -1,6 +1,6 @@
 --- a/drivers/pci/probe.c
 +++ b/drivers/pci/probe.c
-@@ -1964,7 +1964,8 @@ static void pcie_write_mrrs(struct pci_d
+@@ -1966,7 +1966,8 @@ static void pcie_write_mrrs(struct pci_d
  	/* In the "safe" case, do not configure the MRRS.  There appear to be
  	 * issues with setting MRRS to 0 on a number of devices.
  	 */
diff --git a/target/linux/cns3xxx/patches-4.4/200-broadcom_phy_reinit.patch b/target/linux/cns3xxx/patches-4.4/200-broadcom_phy_reinit.patch
index 1c7215051d..c3f53874f9 100644
--- a/target/linux/cns3xxx/patches-4.4/200-broadcom_phy_reinit.patch
+++ b/target/linux/cns3xxx/patches-4.4/200-broadcom_phy_reinit.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/broadcom.c
 +++ b/drivers/net/phy/broadcom.c
-@@ -332,6 +332,11 @@ static int bcm5481_config_aneg(struct ph
+@@ -382,6 +382,11 @@ static int bcm5481_config_aneg(struct ph
  		/* Write bits 14:0. */
  		reg |= (1 << 15);
  		phy_write(phydev, 0x18, reg);
@@ -11,4 +11,4 @@
 +		phy_write(phydev, 0x1c, 0xa41f);
  	}
  
- 	return ret;
+ 	if (of_property_read_bool(np, "enet-phy-lane-swap")) {
diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 698d394b8c..eff8e829a6 100644
--- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4222,6 +4222,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4224,6 +4224,9 @@ static enum gro_result dev_gro_receive(s
  	enum gro_result ret;
  	int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!(skb->dev->features & NETIF_F_GRO))
  		goto normal;
  
-@@ -5381,6 +5384,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5383,6 +5386,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   void *private)
-@@ -5452,6 +5497,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5454,6 +5499,7 @@ static int __netdev_upper_dev_link(struc
  			goto rollback_lower_mesh;
  	}
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  	return 0;
-@@ -5578,6 +5624,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5580,6 +5626,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);
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  }
-@@ -6118,6 +6165,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6120,6 +6167,7 @@ int dev_set_mac_address(struct net_devic
  	if (err)
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;
diff --git a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
index 0a117f668f..82715b0cda 100644
--- a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
+++ b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
@@ -19,8 +19,6 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  drivers/tty/serial/imx.c | 23 +++++++++++++++++------
  1 file changed, 17 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 76818f5..086675e 100644
 --- a/drivers/tty/serial/imx.c
 +++ b/drivers/tty/serial/imx.c
 @@ -148,8 +148,11 @@
@@ -35,7 +33,7 @@ index 76818f5..086675e 100644
  #define USR2_RTSF	 (1<<4)	 /* RTS edge interrupt flag */
  #define USR2_TXDC	 (1<<3)	 /* Transmitter complete */
  #define USR2_BRCD	 (1<<2)	 /* Break condition */
-@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct uart_port *port)
+@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct
  static unsigned int imx_get_mctrl(struct uart_port *port)
  {
  	struct imx_port *sport = (struct imx_port *)port;
@@ -49,19 +47,20 @@ index 76818f5..086675e 100644
  
 -	if (readl(sport->port.membase + UCR2) & UCR2_CTS)
 -		tmp |= TIOCM_RTS;
+-
+-	if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP)
+-		tmp |= TIOCM_LOOP;
 +	/* in DCE mode DCDIN is always 0 */
 +	if (!(usr1 & USR2_DCDIN))
 +		tmp |= TIOCM_CAR;
- 
--	if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP)
--		tmp |= TIOCM_LOOP;
++
 +	/* in DCE mode RIIN is always 0 */
 +	if (readl(sport->port.membase + USR2) & USR2_RIIN)
 +		tmp |= TIOCM_RI;
  
  	return tmp;
  }
-@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_port *port, unsigned int mctrl)
+@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_po
  		writel(temp, sport->port.membase + UCR2);
  	}
  
@@ -73,6 +72,3 @@ index 76818f5..086675e 100644
  	temp = readl(sport->port.membase + uts_reg(sport)) & ~UTS_LOOP;
  	if (mctrl & TIOCM_LOOP)
  		temp |= UTS_LOOP;
--- 
-1.9.1
-
diff --git a/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch
index a06557542a..0288298163 100644
--- a/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch
+++ b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch
@@ -16,11 +16,9 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  drivers/tty/serial/imx.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 231e7d5..bfc4555 100644
 --- a/drivers/tty/serial/imx.c
 +++ b/drivers/tty/serial/imx.c
-@@ -797,9 +797,9 @@ static unsigned int imx_get_hwmctrl(struct imx_port *sport)
+@@ -817,9 +817,9 @@ static unsigned int imx_get_mctrl(struct
  	if (!(usr1 & USR2_DCDIN))
  		tmp |= TIOCM_CAR;
  
@@ -33,6 +31,3 @@ index 231e7d5..bfc4555 100644
  
  	return tmp;
  }
--- 
-1.9.1
-
diff --git a/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch b/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch
index 0b803b7bda..a4f2951590 100644
--- a/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch
+++ b/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch
@@ -16,11 +16,9 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  drivers/tty/serial/imx.c | 17 +++++++++++++----
  1 file changed, 13 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index bfc4555..5ced61e 100644
 --- a/drivers/tty/serial/imx.c
 +++ b/drivers/tty/serial/imx.c
-@@ -734,6 +734,7 @@ static irqreturn_t imx_int(int irq, void *dev_id)
+@@ -753,6 +753,7 @@ static irqreturn_t imx_int(int irq, void
  	struct imx_port *sport = dev_id;
  	unsigned int sts;
  	unsigned int sts2;
@@ -28,7 +26,7 @@ index bfc4555..5ced61e 100644
  
  	sts = readl(sport->port.membase + USR1);
  	sts2 = readl(sport->port.membase + USR2);
-@@ -743,26 +744,34 @@ static irqreturn_t imx_int(int irq, void *dev_id)
+@@ -762,26 +763,34 @@ static irqreturn_t imx_int(int irq, void
  			imx_dma_rxint(sport);
  		else
  			imx_rxint(irq, dev_id);
@@ -67,6 +65,3 @@ index bfc4555..5ced61e 100644
  }
  
  /*
--- 
-1.9.1
-
diff --git a/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch b/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch
index 8978d33e6e..1c7de3fa6e 100644
--- a/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch
+++ b/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch
@@ -18,11 +18,9 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  drivers/tty/serial/imx.c | 23 ++++++++++++++++++++++-
  1 file changed, 22 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 5ced61e..fcd48fd 100644
 --- a/drivers/tty/serial/imx.c
 +++ b/drivers/tty/serial/imx.c
-@@ -1221,11 +1221,32 @@ static int imx_startup(struct uart_port *port)
+@@ -1184,11 +1184,32 @@ static int imx_startup(struct uart_port
  	temp |= (UCR2_RXEN | UCR2_TXEN);
  	if (!sport->have_rtscts)
  		temp |= UCR2_IRTS;
@@ -56,6 +54,3 @@ index 5ced61e..fcd48fd 100644
  		writel(temp, sport->port.membase + UCR3);
  	}
  
--- 
-1.9.1
-
diff --git a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index 8704a79c0b..f081439f6e 100644
--- a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3110,17 +3111,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1455,7 +1455,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3508,7 +3514,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	writel(temp, &xhci->ir_set->irq_control);
  
  	/* Set the HCD state before we enable the irqs */
-@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
  	xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
  	xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
  			(unsigned int) ep->desc.bEndpointAddress,
  			udev->slot_id,
-@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
  		return -ENOMEM;
  	}
  
diff --git a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
index 76b2d15f1c..6dfb53ea3e 100644
--- a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
+++ b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
@@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3110,17 +3111,22 @@ static u32 xhci_td_remainder(struct xhci
  {
  	u32 maxp, total_packet_count;
  
@@ -1447,7 +1447,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	/* Queueing functions don't count the current TRB into transferred */
  	return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3508,7 +3514,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  		field |= 0x1;
  
  	/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	writel(temp, &xhci->ir_set->irq_control);
  
  	/* Set the HCD state before we enable the irqs */
-@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
  	xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  	xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
  			(unsigned int) ep->desc.bEndpointAddress,
  			udev->slot_id,
-@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
  		return -ENOMEM;
  	}
  
diff --git a/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch b/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch
index ee88859bc6..70169abbe4 100644
--- a/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch
+++ b/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch
@@ -13,11 +13,9 @@ Signed-off-by: Wim Van Sebroeck <wim at iguana.be>
  drivers/watchdog/sp5100_tco.c | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
-index eb8044e..ef039f8 100644
 --- a/drivers/watchdog/sp5100_tco.c
 +++ b/drivers/watchdog/sp5100_tco.c
-@@ -306,6 +306,8 @@ static struct miscdevice sp5100_tco_miscdev = {
+@@ -306,6 +306,8 @@ static struct miscdevice sp5100_tco_misc
  static const struct pci_device_id sp5100_tco_pci_tbl[] = {
  	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, PCI_ANY_ID,
  	  PCI_ANY_ID, },
@@ -26,5 +24,3 @@ index eb8044e..ef039f8 100644
  	{ 0, },			/* End of list */
  };
  MODULE_DEVICE_TABLE(pci, sp5100_tco_pci_tbl);
---
-2.7.4
diff --git a/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch b/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch
index 664d4bb615..33862a25d0 100644
--- a/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch
+++ b/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch
@@ -14,11 +14,9 @@ Signed-off-by: Wim Van Sebroeck <wim at iguana.be>
  drivers/watchdog/sp5100_tco.c | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
-index ef039f8..0ccadb4 100644
 --- a/drivers/watchdog/sp5100_tco.c
 +++ b/drivers/watchdog/sp5100_tco.c
-@@ -308,6 +308,8 @@ static const struct pci_device_id sp5100_tco_pci_tbl[] = {
+@@ -308,6 +308,8 @@ static const struct pci_device_id sp5100
  	  PCI_ANY_ID, },
  	{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SMBUS, PCI_ANY_ID,
  	  PCI_ANY_ID, },
@@ -27,5 +25,3 @@ index ef039f8..0ccadb4 100644
  	{ 0, },			/* End of list */
  };
  MODULE_DEVICE_TABLE(pci, sp5100_tco_pci_tbl);
---
-2.7.4
diff --git a/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch b/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch
index e9f451394f..8f16fa9906 100644
--- a/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch
+++ b/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch
@@ -15,19 +15,17 @@ Signed-off-by: Wim Van Sebroeck <wim at iguana.be>
  drivers/watchdog/sp5100_tco.c | 28 ++++++++++++++++------------
  1 file changed, 16 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
-index 0ccadb4..6467b91 100644
 --- a/drivers/watchdog/sp5100_tco.c
 +++ b/drivers/watchdog/sp5100_tco.c
-@@ -335,21 +335,24 @@ static unsigned char sp5100_tco_setupdevice(void)
+@@ -335,21 +335,24 @@ static unsigned char sp5100_tco_setupdev
  	if (!sp5100_tco_pci)
  		return 0;
-
+ 
 -	pr_info("PCI Revision ID: 0x%x\n", sp5100_tco_pci->revision);
 +	pr_info("PCI Vendor ID: 0x%x, Device ID: 0x%x, Revision ID: 0x%x\n",
 +		sp5100_tco_pci->vendor, sp5100_tco_pci->device,
 +		sp5100_tco_pci->revision);
-
+ 
  	/*
  	 * Determine type of southbridge chipset.
  	 */
@@ -49,9 +47,9 @@ index 0ccadb4..6467b91 100644
 +		data_reg = SB800_IO_PM_DATA_REG;
 +		base_addr = SB800_PM_WATCHDOG_BASE;
  	}
-
+ 
  	/* Request the IO ports used by this driver */
-@@ -385,7 +388,12 @@ static unsigned char sp5100_tco_setupdevice(void)
+@@ -385,7 +388,12 @@ static unsigned char sp5100_tco_setupdev
  	 * Secondly, Find the watchdog timer MMIO address
  	 * from SBResource_MMIO register.
  	 */
@@ -65,7 +63,7 @@ index 0ccadb4..6467b91 100644
  		/* Read SBResource_MMIO from AcpiMmioEn(PM_Reg: 24h) */
  		outb(SB800_PM_ACPI_MMIO_EN+3, SB800_IO_PM_INDEX_REG);
  		val = inb(SB800_IO_PM_DATA_REG);
-@@ -395,10 +403,6 @@ static unsigned char sp5100_tco_setupdevice(void)
+@@ -395,10 +403,6 @@ static unsigned char sp5100_tco_setupdev
  		val = val << 8 | inb(SB800_IO_PM_DATA_REG);
  		outb(SB800_PM_ACPI_MMIO_EN+0, SB800_IO_PM_INDEX_REG);
  		val = val << 8 | inb(SB800_IO_PM_DATA_REG);
@@ -74,7 +72,5 @@ index 0ccadb4..6467b91 100644
 -		pci_read_config_dword(sp5100_tco_pci,
 -				      SP5100_SB_RESOURCE_MMIO_BASE, &val);
  	}
-
+ 
  	/* The SBResource_MMIO is enabled and mapped memory space? */
---
-2.7.4
diff --git a/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch b/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch
index cb7fe98cba..103aa4853d 100644
--- a/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch
+++ b/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch
@@ -25,11 +25,9 @@ Signed-off-by: Wim Van Sebroeck <wim at iguana.be>
  drivers/watchdog/sp5100_tco.c | 15 ++++++++++-----
  1 file changed, 10 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
-index 6467b91..028618c 100644
 --- a/drivers/watchdog/sp5100_tco.c
 +++ b/drivers/watchdog/sp5100_tco.c
-@@ -73,6 +73,13 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started."
+@@ -73,6 +73,13 @@ MODULE_PARM_DESC(nowayout, "Watchdog can
  /*
   * Some TCO specific functions
   */
@@ -46,13 +44,13 @@ index 6467b91..028618c 100644
 @@ -129,7 +136,7 @@ static void tco_timer_enable(void)
  {
  	int val;
-
+ 
 -	if (sp5100_tco_pci->revision >= 0x40) {
 +	if (!tco_has_sp5100_reg_layout(sp5100_tco_pci)) {
  		/* For SB800 or later */
  		/* Set the Watchdog timer resolution to 1 sec */
  		outb(SB800_PM_WATCHDOG_CONFIG, SB800_IO_PM_INDEX_REG);
-@@ -342,8 +349,7 @@ static unsigned char sp5100_tco_setupdevice(void)
+@@ -342,8 +349,7 @@ static unsigned char sp5100_tco_setupdev
  	/*
  	 * Determine type of southbridge chipset.
  	 */
@@ -62,7 +60,7 @@ index 6467b91..028618c 100644
  		dev_name = SP5100_DEVNAME;
  		index_reg = SP5100_IO_PM_INDEX_REG;
  		data_reg = SP5100_IO_PM_DATA_REG;
-@@ -388,8 +394,7 @@ static unsigned char sp5100_tco_setupdevice(void)
+@@ -388,8 +394,7 @@ static unsigned char sp5100_tco_setupdev
  	 * Secondly, Find the watchdog timer MMIO address
  	 * from SBResource_MMIO register.
  	 */
@@ -72,5 +70,3 @@ index 6467b91..028618c 100644
  		/* Read SBResource_MMIO from PCI config(PCI_Reg: 9Ch) */
  		pci_read_config_dword(sp5100_tco_pci,
  				      SP5100_SB_RESOURCE_MMIO_BASE, &val);
---
-2.7.4
-- 
2.11.0




More information about the Lede-dev mailing list