kernel: bump 4.19 to 4.19.19
Refreshed all patches. Remove upstreamed patch: - 800-v5.0-usb-leds-fix-regression-in-usbport-led-trigger.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
		@@ -1,88 +0,0 @@
 | 
			
		||||
From 91f7d2e89868fcac0e750a28230fdb1ad4512137 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Christian Lamparter <chunkeey@gmail.com>
 | 
			
		||||
Date: Fri, 11 Jan 2019 17:29:45 +0100
 | 
			
		||||
Subject: USB: leds: fix regression in usbport led trigger
 | 
			
		||||
 | 
			
		||||
The patch "usb: simplify usbport trigger" together with "leds: triggers:
 | 
			
		||||
add device attribute support" caused an regression for the usbport
 | 
			
		||||
trigger. it will no longer enumerate any active usb hub ports under the
 | 
			
		||||
"ports" directory in the sysfs class directory, if the usb host drivers
 | 
			
		||||
are fully initialized before the usbport trigger was loaded.
 | 
			
		||||
 | 
			
		||||
The reason is that the usbport driver tries to register the sysfs
 | 
			
		||||
entries during the activate() callback. And this will fail with -2 /
 | 
			
		||||
ENOENT because the patch "leds: triggers: add device attribute support"
 | 
			
		||||
made it so that the sysfs "ports" group was only being added after the
 | 
			
		||||
activate() callback succeeded.
 | 
			
		||||
 | 
			
		||||
This version of the patch reverts parts of the "usb: simplify usbport
 | 
			
		||||
trigger" patch and restores usbport trigger's functionality.
 | 
			
		||||
 | 
			
		||||
Fixes: 6f7b0bad8839 ("usb: simplify usbport trigger")
 | 
			
		||||
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
 | 
			
		||||
Cc: stable <stable@vger.kernel.org>
 | 
			
		||||
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
 | 
			
		||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | 
			
		||||
---
 | 
			
		||||
--- a/drivers/usb/core/ledtrig-usbport.c
 | 
			
		||||
+++ b/drivers/usb/core/ledtrig-usbport.c
 | 
			
		||||
@@ -119,11 +119,6 @@ static const struct attribute_group port
 | 
			
		||||
 	.attrs = ports_attrs,
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
-static const struct attribute_group *ports_groups[] = {
 | 
			
		||||
-	&ports_group,
 | 
			
		||||
-	NULL
 | 
			
		||||
-};
 | 
			
		||||
-
 | 
			
		||||
 /***************************************
 | 
			
		||||
  * Adding & removing ports
 | 
			
		||||
  ***************************************/
 | 
			
		||||
@@ -307,6 +302,7 @@ static int usbport_trig_notify(struct no
 | 
			
		||||
 static int usbport_trig_activate(struct led_classdev *led_cdev)
 | 
			
		||||
 {
 | 
			
		||||
 	struct usbport_trig_data *usbport_data;
 | 
			
		||||
+	int err;
 | 
			
		||||
 
 | 
			
		||||
 	usbport_data = kzalloc(sizeof(*usbport_data), GFP_KERNEL);
 | 
			
		||||
 	if (!usbport_data)
 | 
			
		||||
@@ -315,6 +311,9 @@ static int usbport_trig_activate(struct
 | 
			
		||||
 
 | 
			
		||||
 	/* List of ports */
 | 
			
		||||
 	INIT_LIST_HEAD(&usbport_data->ports);
 | 
			
		||||
+	err = sysfs_create_group(&led_cdev->dev->kobj, &ports_group);
 | 
			
		||||
+	if (err)
 | 
			
		||||
+		goto err_free;
 | 
			
		||||
 	usb_for_each_dev(usbport_data, usbport_trig_add_usb_dev_ports);
 | 
			
		||||
 	usbport_trig_update_count(usbport_data);
 | 
			
		||||
 
 | 
			
		||||
@@ -322,8 +321,11 @@ static int usbport_trig_activate(struct
 | 
			
		||||
 	usbport_data->nb.notifier_call = usbport_trig_notify;
 | 
			
		||||
 	led_set_trigger_data(led_cdev, usbport_data);
 | 
			
		||||
 	usb_register_notify(&usbport_data->nb);
 | 
			
		||||
-
 | 
			
		||||
 	return 0;
 | 
			
		||||
+
 | 
			
		||||
+err_free:
 | 
			
		||||
+	kfree(usbport_data);
 | 
			
		||||
+	return err;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static void usbport_trig_deactivate(struct led_classdev *led_cdev)
 | 
			
		||||
@@ -335,6 +337,8 @@ static void usbport_trig_deactivate(stru
 | 
			
		||||
 		usbport_trig_remove_port(usbport_data, port);
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
+	sysfs_remove_group(&led_cdev->dev->kobj, &ports_group);
 | 
			
		||||
+
 | 
			
		||||
 	usb_unregister_notify(&usbport_data->nb);
 | 
			
		||||
 
 | 
			
		||||
 	kfree(usbport_data);
 | 
			
		||||
@@ -344,7 +348,6 @@ static struct led_trigger usbport_led_tr
 | 
			
		||||
 	.name     = "usbport",
 | 
			
		||||
 	.activate = usbport_trig_activate,
 | 
			
		||||
 	.deactivate = usbport_trig_deactivate,
 | 
			
		||||
-	.groups = ports_groups,
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 static int __init usbport_trig_init(void)
 | 
			
		||||
@@ -338,7 +338,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 
 | 
			
		||||
--- a/net/ipv4/fib_trie.c
 | 
			
		||||
+++ b/net/ipv4/fib_trie.c
 | 
			
		||||
@@ -2708,11 +2708,13 @@ static const struct seq_operations fib_r
 | 
			
		||||
@@ -2717,11 +2717,13 @@ static const struct seq_operations fib_r
 | 
			
		||||
 
 | 
			
		||||
 int __net_init fib_proc_init(struct net *net)
 | 
			
		||||
 {
 | 
			
		||||
@@ -354,7 +354,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 			fib_triestat_seq_show, NULL))
 | 
			
		||||
 		goto out2;
 | 
			
		||||
 
 | 
			
		||||
@@ -2723,17 +2725,21 @@ int __net_init fib_proc_init(struct net
 | 
			
		||||
@@ -2732,17 +2734,21 @@ int __net_init fib_proc_init(struct net
 | 
			
		||||
 	return 0;
 | 
			
		||||
 
 | 
			
		||||
 out3:
 | 
			
		||||
 
 | 
			
		||||
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 | 
			
		||||
 | 
			
		||||
--- a/mm/page_alloc.c
 | 
			
		||||
+++ b/mm/page_alloc.c
 | 
			
		||||
@@ -6384,7 +6384,7 @@ static void __ref alloc_node_mem_map(str
 | 
			
		||||
@@ -6372,7 +6372,7 @@ static void __ref alloc_node_mem_map(str
 | 
			
		||||
 		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)
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 #include <linux/nsproxy.h>
 | 
			
		||||
 #include <net/net_namespace.h>
 | 
			
		||||
 #include <net/netns/generic.h>
 | 
			
		||||
@@ -975,8 +980,36 @@ static int pppoe_xmit(struct ppp_channel
 | 
			
		||||
@@ -976,8 +981,36 @@ static int pppoe_xmit(struct ppp_channel
 | 
			
		||||
 	return __pppoe_xmit(sk, skb);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
			
		||||
 static void rt_fibinfo_free(struct rtable __rcu **rtp)
 | 
			
		||||
--- a/net/ipv4/fib_trie.c
 | 
			
		||||
+++ b/net/ipv4/fib_trie.c
 | 
			
		||||
@@ -2465,6 +2465,7 @@ static const char *const rtn_type_names[
 | 
			
		||||
@@ -2474,6 +2474,7 @@ static const char *const rtn_type_names[
 | 
			
		||||
 	[RTN_THROW] = "THROW",
 | 
			
		||||
 	[RTN_NAT] = "NAT",
 | 
			
		||||
 	[RTN_XRESOLVE] = "XRESOLVE",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user