endif
LINUX_VERSION-5.4 = .145
-LINUX_VERSION-5.10 = .69
+LINUX_VERSION-5.10 = .70
LINUX_KERNEL_HASH-5.4.145 = 5cf7782ec2e91417edf0d5e6555da6d556962c8985e33ba9e7dadba5cbdc68f9
-LINUX_KERNEL_HASH-5.10.69 = 232f9ec53bccca768868831b7cc286f7d8bbbac9f481bbac1495700231a20cca
+LINUX_KERNEL_HASH-5.10.70 = 75736c33711d7f298889ee4981b18774882045323e5c46af9ad3b022082db232
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
extern int usb_driver_set_configuration(struct usb_device *udev, int config);
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -382,6 +382,11 @@ struct hc_driver {
+@@ -384,6 +384,11 @@ struct hc_driver {
* or bandwidth constraints.
*/
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
/* Returns the hardware-chosen device address */
int (*address_device)(struct usb_hcd *, struct usb_device *udev);
/* prepares the hardware to send commands to the device */
-@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_
+@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
extern void usb_hcd_flush_endpoint(struct usb_device *udev,
struct usb_host_endpoint *ep);
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1467,6 +1467,103 @@ command_cleanup:
+@@ -1468,6 +1468,103 @@ command_cleanup:
}
/*
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5361,6 +5458,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -3269,10 +3269,13 @@ static void xhci_endpoint_reset(struct u
+@@ -3270,10 +3270,13 @@ static void xhci_endpoint_reset(struct u
return;
/* Bail out if toggle is already being cleared by a endpoint reset */
/* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */
if (usb_endpoint_xfer_control(&host_ep->desc) ||
usb_endpoint_xfer_isoc(&host_ep->desc))
-@@ -3358,8 +3361,10 @@ static void xhci_endpoint_reset(struct u
+@@ -3359,8 +3362,10 @@ static void xhci_endpoint_reset(struct u
xhci_free_command(xhci, cfg_cmd);
cleanup:
xhci_free_command(xhci, stop_cmd);
+++ /dev/null
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Tue, 31 Aug 2021 08:40:49 +0200
-Subject: [PATCH fix] Revert "USB: bcma: Add a check for devm_gpiod_get"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This reverts commit f3de5d857bb2362b00e2a8d4bc886cd49dcb66db.
-
-That commit broke USB on all routers that have USB always powered on and
-don't require toggling any GPIO. It's a majority of devices actually.
-
-The original code worked and seemed safe: vcc GPIO is optional and
-bcma_hci_platform_power_gpio() takes care of checking the pointer before
-using it.
-
-This revert fixes:
-[ 10.801127] bcma_hcd: probe of bcma0:11 failed with error -2
-
-Cc: Chuhong Yuan <hslester96@gmail.com>
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
----
- drivers/usb/host/bcma-hcd.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
---- a/drivers/usb/host/bcma-hcd.c
-+++ b/drivers/usb/host/bcma-hcd.c
-@@ -406,12 +406,9 @@ static int bcma_hcd_probe(struct bcma_de
- return -ENOMEM;
- usb_dev->core = core;
-
-- if (core->dev.of_node) {
-+ if (core->dev.of_node)
- usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc",
- GPIOD_OUT_HIGH);
-- if (IS_ERR(usb_dev->gpio_desc))
-- return PTR_ERR(usb_dev->gpio_desc);
-- }
-
- switch (core->id.id) {
- case BCMA_CORE_USB20_HOST:
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
-@@ -211,6 +211,8 @@ void ftrace_likely_update(struct ftrace_
+@@ -213,6 +213,8 @@ void ftrace_likely_update(struct ftrace_
__v; \
})
#endif /* __KERNEL__ */
/*
-@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const
+@@ -245,6 +247,4 @@ static inline void *offset_to_ptr(const
*/
#define prevent_tail_call_optimization() mb()
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
return phy_ethtool_ksettings_set(pl->phydev, kset);
}
-@@ -1700,8 +1705,11 @@ int phylink_ethtool_get_eee(struct phyli
+@@ -1726,8 +1731,11 @@ int phylink_ethtool_get_eee(struct phyli
ASSERT_RTNL();
return ret;
}
-@@ -1718,8 +1726,11 @@ int phylink_ethtool_set_eee(struct phyli
+@@ -1744,8 +1752,11 @@ int phylink_ethtool_set_eee(struct phyli
ASSERT_RTNL();