kernel: update 4.4 to 4.4.89
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		@@ -3,10 +3,10 @@
 | 
				
			|||||||
LINUX_RELEASE?=1
 | 
					LINUX_RELEASE?=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_VERSION-3.18 = .43
 | 
					LINUX_VERSION-3.18 = .43
 | 
				
			||||||
LINUX_VERSION-4.4 = .87
 | 
					LINUX_VERSION-4.4 = .89
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
 | 
					LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
 | 
				
			||||||
LINUX_KERNEL_HASH-4.4.87 = 1ab05222c3c55e062c3f7418976137ee529f92174261ccb0cd5a7d3370ff6f5b
 | 
					LINUX_KERNEL_HASH-4.4.89 = a81d1b1306e4fddee5d6f7219090a616073b02f4069e44522a9c0454b17f2b67
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifdef KERNEL_PATCHVER
 | 
					ifdef KERNEL_PATCHVER
 | 
				
			||||||
  LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
 | 
					  LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/mm/page_alloc.c
 | 
					--- a/mm/page_alloc.c
 | 
				
			||||||
+++ b/mm/page_alloc.c
 | 
					+++ b/mm/page_alloc.c
 | 
				
			||||||
@@ -6804,8 +6804,6 @@ int alloc_contig_range(unsigned long sta
 | 
					@@ -6816,8 +6816,6 @@ int alloc_contig_range(unsigned long sta
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Make sure the range is really isolated. */
 | 
					 	/* Make sure the range is really isolated. */
 | 
				
			||||||
 	if (test_pages_isolated(outer_start, end, false)) {
 | 
					 	if (test_pages_isolated(outer_start, end, false)) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -75,7 +75,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/mm/page_alloc.c
 | 
					--- a/mm/page_alloc.c
 | 
				
			||||||
+++ b/mm/page_alloc.c
 | 
					+++ b/mm/page_alloc.c
 | 
				
			||||||
@@ -5345,7 +5345,7 @@ static void __init_refok alloc_node_mem_
 | 
					@@ -5357,7 +5357,7 @@ static void __init_refok alloc_node_mem_
 | 
				
			||||||
 		mem_map = NODE_DATA(0)->node_mem_map;
 | 
					 		mem_map = NODE_DATA(0)->node_mem_map;
 | 
				
			||||||
 #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
 | 
					 #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
 | 
				
			||||||
 		if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
 | 
					 		if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 static const struct rt6_info ip6_blk_hole_entry_template = {
 | 
					 static const struct rt6_info ip6_blk_hole_entry_template = {
 | 
				
			||||||
 	.dst = {
 | 
					 	.dst = {
 | 
				
			||||||
 		.__refcnt	= ATOMIC_INIT(1),
 | 
					 		.__refcnt	= ATOMIC_INIT(1),
 | 
				
			||||||
@@ -1889,6 +1906,11 @@ static struct rt6_info *ip6_route_info_c
 | 
					@@ -1898,6 +1915,11 @@ static struct rt6_info *ip6_route_info_c
 | 
				
			||||||
 			rt->dst.output = ip6_pkt_prohibit_out;
 | 
					 			rt->dst.output = ip6_pkt_prohibit_out;
 | 
				
			||||||
 			rt->dst.input = ip6_pkt_prohibit;
 | 
					 			rt->dst.input = ip6_pkt_prohibit;
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
@@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 		case RTN_THROW:
 | 
					 		case RTN_THROW:
 | 
				
			||||||
 		case RTN_UNREACHABLE:
 | 
					 		case RTN_UNREACHABLE:
 | 
				
			||||||
 		default:
 | 
					 		default:
 | 
				
			||||||
@@ -2492,6 +2514,17 @@ static int ip6_pkt_prohibit_out(struct n
 | 
					@@ -2501,6 +2523,17 @@ static int ip6_pkt_prohibit_out(struct n
 | 
				
			||||||
 	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
 | 
					 	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 /*
 | 
					 /*
 | 
				
			||||||
  *	Allocate a dst for local (unicast / anycast) address.
 | 
					  *	Allocate a dst for local (unicast / anycast) address.
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
@@ -2734,7 +2767,8 @@ static int rtm_to_fib6_config(struct sk_
 | 
					@@ -2743,7 +2776,8 @@ static int rtm_to_fib6_config(struct sk_
 | 
				
			||||||
 	if (rtm->rtm_type == RTN_UNREACHABLE ||
 | 
					 	if (rtm->rtm_type == RTN_UNREACHABLE ||
 | 
				
			||||||
 	    rtm->rtm_type == RTN_BLACKHOLE ||
 | 
					 	    rtm->rtm_type == RTN_BLACKHOLE ||
 | 
				
			||||||
 	    rtm->rtm_type == RTN_PROHIBIT ||
 | 
					 	    rtm->rtm_type == RTN_PROHIBIT ||
 | 
				
			||||||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 		cfg->fc_flags |= RTF_REJECT;
 | 
					 		cfg->fc_flags |= RTF_REJECT;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	if (rtm->rtm_type == RTN_LOCAL)
 | 
					 	if (rtm->rtm_type == RTN_LOCAL)
 | 
				
			||||||
@@ -3087,6 +3121,9 @@ static int rt6_fill_node(struct net *net
 | 
					@@ -3096,6 +3130,9 @@ static int rt6_fill_node(struct net *net
 | 
				
			||||||
 		case -EACCES:
 | 
					 		case -EACCES:
 | 
				
			||||||
 			rtm->rtm_type = RTN_PROHIBIT;
 | 
					 			rtm->rtm_type = RTN_PROHIBIT;
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 		case -EAGAIN:
 | 
					 		case -EAGAIN:
 | 
				
			||||||
 			rtm->rtm_type = RTN_THROW;
 | 
					 			rtm->rtm_type = RTN_THROW;
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
@@ -3366,6 +3403,8 @@ static int ip6_route_dev_notify(struct n
 | 
					@@ -3375,6 +3412,8 @@ static int ip6_route_dev_notify(struct n
 | 
				
			||||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
					 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
				
			||||||
 		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
 | 
					 		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
 | 
				
			||||||
 		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
 | 
					 		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
 | 
				
			||||||
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
 | 
					 		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
 | 
				
			||||||
 		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
 | 
					 		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
@@ -3588,6 +3627,17 @@ static int __net_init ip6_route_net_init
 | 
					@@ -3597,6 +3636,17 @@ static int __net_init ip6_route_net_init
 | 
				
			||||||
 	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
 | 
					 	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
 | 
				
			||||||
 	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
 | 
					 	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
 | 
				
			||||||
 			 ip6_template_metrics, true);
 | 
					 			 ip6_template_metrics, true);
 | 
				
			||||||
@@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	net->ipv6.sysctl.flush_delay = 0;
 | 
					 	net->ipv6.sysctl.flush_delay = 0;
 | 
				
			||||||
@@ -3606,6 +3656,8 @@ out:
 | 
					@@ -3615,6 +3665,8 @@ out:
 | 
				
			||||||
 	return ret;
 | 
					 	return ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
					 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
				
			||||||
@@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 out_ip6_prohibit_entry:
 | 
					 out_ip6_prohibit_entry:
 | 
				
			||||||
 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
					 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
				
			||||||
 out_ip6_null_entry:
 | 
					 out_ip6_null_entry:
 | 
				
			||||||
@@ -3623,6 +3675,7 @@ static void __net_exit ip6_route_net_exi
 | 
					@@ -3632,6 +3684,7 @@ static void __net_exit ip6_route_net_exi
 | 
				
			||||||
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
					 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 | 
				
			||||||
 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
					 	kfree(net->ipv6.ip6_prohibit_entry);
 | 
				
			||||||
 	kfree(net->ipv6.ip6_blk_hole_entry);
 | 
					 	kfree(net->ipv6.ip6_blk_hole_entry);
 | 
				
			||||||
@@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
				
			|||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
 | 
					 	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -3696,6 +3749,9 @@ void __init ip6_route_init_special_entri
 | 
					@@ -3705,6 +3758,9 @@ void __init ip6_route_init_special_entri
 | 
				
			||||||
 	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
					 	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
				
			||||||
 	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
 | 
					 	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
 | 
				
			||||||
 	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
					 	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@
 | 
				
			|||||||
 static struct amd_chipset_info {
 | 
					 static struct amd_chipset_info {
 | 
				
			||||||
 	struct pci_dev	*nb_dev;
 | 
					 	struct pci_dev	*nb_dev;
 | 
				
			||||||
 	struct pci_dev	*smbus_dev;
 | 
					 	struct pci_dev	*smbus_dev;
 | 
				
			||||||
@@ -457,6 +459,10 @@ void usb_amd_dev_put(void)
 | 
					@@ -458,6 +460,10 @@ void usb_amd_dev_put(void)
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 EXPORT_SYMBOL_GPL(usb_amd_dev_put);
 | 
					 EXPORT_SYMBOL_GPL(usb_amd_dev_put);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -21,7 +21,7 @@
 | 
				
			|||||||
 /*
 | 
					 /*
 | 
				
			||||||
  * Make sure the controller is completely inactive, unable to
 | 
					  * Make sure the controller is completely inactive, unable to
 | 
				
			||||||
  * generate interrupts or do DMA.
 | 
					  * generate interrupts or do DMA.
 | 
				
			||||||
@@ -536,8 +542,17 @@ reset_needed:
 | 
					@@ -537,8 +543,17 @@ reset_needed:
 | 
				
			||||||
 	uhci_reset_hc(pdev, base);
 | 
					 	uhci_reset_hc(pdev, base);
 | 
				
			||||||
 	return 1;
 | 
					 	return 1;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -39,7 +39,7 @@
 | 
				
			|||||||
 static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
 | 
					 static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	u16 cmd;
 | 
					 	u16 cmd;
 | 
				
			||||||
@@ -1102,3 +1117,4 @@ static void quirk_usb_early_handoff(stru
 | 
					@@ -1103,3 +1118,4 @@ static void quirk_usb_early_handoff(stru
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
 | 
					 DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
 | 
				
			||||||
 			PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
 | 
					 			PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5506,7 +5506,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 					 unsigned long type);
 | 
					 					 unsigned long type);
 | 
				
			||||||
--- a/include/linux/pci_ids.h
 | 
					--- a/include/linux/pci_ids.h
 | 
				
			||||||
+++ b/include/linux/pci_ids.h
 | 
					+++ b/include/linux/pci_ids.h
 | 
				
			||||||
@@ -1054,6 +1054,12 @@
 | 
					@@ -1055,6 +1055,12 @@
 | 
				
			||||||
 #define PCI_DEVICE_ID_SGI_LITHIUM	0x1002
 | 
					 #define PCI_DEVICE_ID_SGI_LITHIUM	0x1002
 | 
				
			||||||
 #define PCI_DEVICE_ID_SGI_IOC4		0x100a
 | 
					 #define PCI_DEVICE_ID_SGI_IOC4		0x100a
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/phy/phy.c
 | 
					--- a/drivers/net/phy/phy.c
 | 
				
			||||||
+++ b/drivers/net/phy/phy.c
 | 
					+++ b/drivers/net/phy/phy.c
 | 
				
			||||||
@@ -893,7 +893,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 		/* If the link is down, give up on negotiation for now */
 | 
					 		/* If the link is down, give up on negotiation for now */
 | 
				
			||||||
 		if (!phydev->link) {
 | 
					 		if (!phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 			phydev->adjust_link(phydev->attached_dev);
 | 
					 			phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@@ -985,7 +986,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 			netif_carrier_on(phydev->attached_dev);
 | 
					 			netif_carrier_on(phydev->attached_dev);
 | 
				
			||||||
 		} else {
 | 
					 		} else {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 		}
 | 
					 		}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		phydev->adjust_link(phydev->attached_dev);
 | 
					 		phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
@@ -997,7 +999,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 	case PHY_HALTED:
 | 
					 	case PHY_HALTED:
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->link = 0;
 | 
					 			phydev->link = 0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/phy/phy.c
 | 
					--- a/drivers/net/phy/phy.c
 | 
				
			||||||
+++ b/drivers/net/phy/phy.c
 | 
					+++ b/drivers/net/phy/phy.c
 | 
				
			||||||
@@ -893,7 +893,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 		/* If the link is down, give up on negotiation for now */
 | 
					 		/* If the link is down, give up on negotiation for now */
 | 
				
			||||||
 		if (!phydev->link) {
 | 
					 		if (!phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 			phydev->adjust_link(phydev->attached_dev);
 | 
					 			phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@@ -985,7 +986,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 			netif_carrier_on(phydev->attached_dev);
 | 
					 			netif_carrier_on(phydev->attached_dev);
 | 
				
			||||||
 		} else {
 | 
					 		} else {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 		}
 | 
					 		}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		phydev->adjust_link(phydev->attached_dev);
 | 
					 		phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
@@ -997,7 +999,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 	case PHY_HALTED:
 | 
					 	case PHY_HALTED:
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->link = 0;
 | 
					 			phydev->link = 0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/phy/phy.c
 | 
					--- a/drivers/net/phy/phy.c
 | 
				
			||||||
+++ b/drivers/net/phy/phy.c
 | 
					+++ b/drivers/net/phy/phy.c
 | 
				
			||||||
@@ -852,6 +852,16 @@ void phy_start(struct phy_device *phydev
 | 
					@@ -849,6 +849,16 @@ void phy_start(struct phy_device *phydev
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 EXPORT_SYMBOL(phy_start);
 | 
					 EXPORT_SYMBOL(phy_start);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -39,7 +39,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 /**
 | 
					 /**
 | 
				
			||||||
  * phy_state_machine - Handle the state machine
 | 
					  * phy_state_machine - Handle the state machine
 | 
				
			||||||
  * @work: work_struct that describes the work to be done
 | 
					  * @work: work_struct that describes the work to be done
 | 
				
			||||||
@@ -893,8 +903,7 @@ void phy_state_machine(struct work_struc
 | 
					@@ -890,8 +900,7 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 		/* If the link is down, give up on negotiation for now */
 | 
					 		/* If the link is down, give up on negotiation for now */
 | 
				
			||||||
 		if (!phydev->link) {
 | 
					 		if (!phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -49,7 +49,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -906,9 +915,7 @@ void phy_state_machine(struct work_struc
 | 
					@@ -903,9 +912,7 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 		/* If AN is done, we're running */
 | 
					 		/* If AN is done, we're running */
 | 
				
			||||||
 		if (err > 0) {
 | 
					 		if (err > 0) {
 | 
				
			||||||
 			phydev->state = PHY_RUNNING;
 | 
					 			phydev->state = PHY_RUNNING;
 | 
				
			||||||
@@ -60,7 +60,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 		} else if (0 == phydev->link_timeout--)
 | 
					 		} else if (0 == phydev->link_timeout--)
 | 
				
			||||||
 			needs_aneg = true;
 | 
					 			needs_aneg = true;
 | 
				
			||||||
 		break;
 | 
					 		break;
 | 
				
			||||||
@@ -933,8 +940,7 @@ void phy_state_machine(struct work_struc
 | 
					@@ -930,8 +937,7 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 				}
 | 
					 				}
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
 			phydev->state = PHY_RUNNING;
 | 
					 			phydev->state = PHY_RUNNING;
 | 
				
			||||||
@@ -70,7 +70,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 		}
 | 
					 		}
 | 
				
			||||||
 		break;
 | 
					 		break;
 | 
				
			||||||
 	case PHY_FORCING:
 | 
					 	case PHY_FORCING:
 | 
				
			||||||
@@ -944,13 +950,12 @@ void phy_state_machine(struct work_struc
 | 
					@@ -941,13 +947,12 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_RUNNING;
 | 
					 			phydev->state = PHY_RUNNING;
 | 
				
			||||||
@@ -86,7 +86,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 		break;
 | 
					 		break;
 | 
				
			||||||
 	case PHY_RUNNING:
 | 
					 	case PHY_RUNNING:
 | 
				
			||||||
 		/* Only register a CHANGE if we are polling or ignoring
 | 
					 		/* Only register a CHANGE if we are polling or ignoring
 | 
				
			||||||
@@ -982,14 +987,12 @@ void phy_state_machine(struct work_struc
 | 
					@@ -979,14 +984,12 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_RUNNING;
 | 
					 			phydev->state = PHY_RUNNING;
 | 
				
			||||||
@@ -103,7 +103,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 		if (phy_interrupt_is_valid(phydev))
 | 
					 		if (phy_interrupt_is_valid(phydev))
 | 
				
			||||||
 			err = phy_config_interrupt(phydev,
 | 
					 			err = phy_config_interrupt(phydev,
 | 
				
			||||||
 						   PHY_INTERRUPT_ENABLED);
 | 
					 						   PHY_INTERRUPT_ENABLED);
 | 
				
			||||||
@@ -997,8 +1000,7 @@ void phy_state_machine(struct work_struc
 | 
					@@ -994,8 +997,7 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 	case PHY_HALTED:
 | 
					 	case PHY_HALTED:
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->link = 0;
 | 
					 			phydev->link = 0;
 | 
				
			||||||
@@ -113,7 +113,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 			do_suspend = true;
 | 
					 			do_suspend = true;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 		break;
 | 
					 		break;
 | 
				
			||||||
@@ -1018,11 +1020,11 @@ void phy_state_machine(struct work_struc
 | 
					@@ -1015,11 +1017,11 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 				if (phydev->link) {
 | 
					 				if (phydev->link) {
 | 
				
			||||||
 					phydev->state = PHY_RUNNING;
 | 
					 					phydev->state = PHY_RUNNING;
 | 
				
			||||||
@@ -127,7 +127,7 @@ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 | 
				
			|||||||
 			} else {
 | 
					 			} else {
 | 
				
			||||||
 				phydev->state = PHY_AN;
 | 
					 				phydev->state = PHY_AN;
 | 
				
			||||||
 				phydev->link_timeout = PHY_AN_TIMEOUT;
 | 
					 				phydev->link_timeout = PHY_AN_TIMEOUT;
 | 
				
			||||||
@@ -1034,11 +1036,11 @@ void phy_state_machine(struct work_struc
 | 
					@@ -1031,11 +1033,11 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			if (phydev->link) {
 | 
					 			if (phydev->link) {
 | 
				
			||||||
 				phydev->state = PHY_RUNNING;
 | 
					 				phydev->state = PHY_RUNNING;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/phy/phy.c
 | 
					--- a/drivers/net/phy/phy.c
 | 
				
			||||||
+++ b/drivers/net/phy/phy.c
 | 
					+++ b/drivers/net/phy/phy.c
 | 
				
			||||||
@@ -893,7 +893,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 		/* If the link is down, give up on negotiation for now */
 | 
					 		/* If the link is down, give up on negotiation for now */
 | 
				
			||||||
 		if (!phydev->link) {
 | 
					 		if (!phydev->link) {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 			phydev->adjust_link(phydev->attached_dev);
 | 
					 			phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@@ -985,7 +986,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 			netif_carrier_on(phydev->attached_dev);
 | 
					 			netif_carrier_on(phydev->attached_dev);
 | 
				
			||||||
 		} else {
 | 
					 		} else {
 | 
				
			||||||
 			phydev->state = PHY_NOLINK;
 | 
					 			phydev->state = PHY_NOLINK;
 | 
				
			||||||
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
				
			|||||||
 		}
 | 
					 		}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		phydev->adjust_link(phydev->attached_dev);
 | 
					 		phydev->adjust_link(phydev->attached_dev);
 | 
				
			||||||
@@ -997,7 +999,8 @@ void phy_state_machine(struct work_struc
 | 
					@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc
 | 
				
			||||||
 	case PHY_HALTED:
 | 
					 	case PHY_HALTED:
 | 
				
			||||||
 		if (phydev->link) {
 | 
					 		if (phydev->link) {
 | 
				
			||||||
 			phydev->link = 0;
 | 
					 			phydev->link = 0;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user