Created
August 25, 2022 17:55
-
-
Save jannau/6f217029cf1b9e5dbec58dd71cc8808d to your computer and use it in GitHub Desktop.
u-boot asahi usb logitech unifying receiver probe workaround
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/common/usb.c b/common/usb.c | |
index aad13fd9c557..1d97999a146d 100644 | |
--- a/common/usb.c | |
+++ b/common/usb.c | |
@@ -1068,34 +1068,35 @@ static int usb_prepare_device(struct usb_device *dev, int addr, bool do_read, | |
* after device is assigned an address. This is only applicable | |
* to xHCI so far. | |
*/ | |
if (!do_read) { | |
err = usb_setup_descriptor(dev, true); | |
if (err) | |
return err; | |
} | |
return 0; | |
} | |
int usb_select_config(struct usb_device *dev) | |
{ | |
unsigned char *tmpbuf = NULL; | |
int err; | |
+ mdelay(1); | |
err = get_descriptor_len(dev, USB_DT_DEVICE_SIZE, USB_DT_DEVICE_SIZE); | |
if (err) | |
return err; | |
/* correct le values */ | |
le16_to_cpus(&dev->descriptor.bcdUSB); | |
le16_to_cpus(&dev->descriptor.idVendor); | |
le16_to_cpus(&dev->descriptor.idProduct); | |
le16_to_cpus(&dev->descriptor.bcdDevice); | |
/* | |
* Kingston DT Ultimate 32GB USB 3.0 seems to be extremely sensitive | |
* about this first Get Descriptor request. If there are any other | |
* requests in the first microframe, the stick crashes. Wait about | |
* one microframe duration here (1mS for USB 1.x , 125uS for USB 2.0). | |
*/ | |
mdelay(1); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment