Index: uspace/drv/bus/usb/usbhub/port.c
===================================================================
--- uspace/drv/bus/usb/usbhub/port.c	(revision b310cff48aa1aa1c7ae6dce0add67011886f1122)
+++ uspace/drv/bus/usb/usbhub/port.c	(revision 32b2a6f2ada68012ac1adeae0f0a262a7b8653d9)
@@ -218,10 +218,4 @@
 }
 
-static void port_changed_link_state(usb_hub_port_t *port, usb_port_status_t status)
-{
-	port_log(debug2, port, "Port link state changed.");
-}
-
-
 typedef void (*change_handler_t)(usb_hub_port_t *, usb_port_status_t);
 
@@ -232,5 +226,4 @@
 	[USB_HUB_FEATURE_C_PORT_OVER_CURRENT] = &port_changed_overcurrent,
 	[USB_HUB_FEATURE_C_PORT_RESET] = &port_changed_reset,
-	[USB_HUB_FEATURE_C_PORT_LINK_STATE] = &port_changed_link_state,
 	[sizeof(usb_port_status_t) * 8] = NULL,
 };
@@ -255,4 +248,8 @@
 	}
 
+	if (port->hub->speed == USB_SPEED_SUPER)
+		/* Link state change is not a change we shall clear, nor we care about it */
+		status &= ~(1 << USB_HUB_FEATURE_C_PORT_LINK_STATE);
+
 	for (uint32_t feature = 16; feature < sizeof(usb_port_status_t) * 8; ++feature) {
 		uint32_t mask = 1 << feature;
