usb: Wait after sending Set Configuration request
Some devices, like the SanDisk Cruzer Pop need some time to process the Set Configuration request, so wait a little until they are ready. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@opensource.altera.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Stefan Roese <sr@denx.de> Cc: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
		
							parent
							
								
									2f1b4302e3
								
							
						
					
					
						commit
						f647bf0ba3
					
				|  | @ -1107,6 +1107,14 @@ int usb_select_config(struct usb_device *dev) | ||||||
| 			"len %d, status %lX\n", dev->act_len, dev->status); | 			"len %d, status %lX\n", dev->act_len, dev->status); | ||||||
| 		return err; | 		return err; | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	/*
 | ||||||
|  | 	 * Wait until the Set Configuration request gets processed by the | ||||||
|  | 	 * device. This is required by at least SanDisk Cruzer Pop USB 2.0 | ||||||
|  | 	 * and Kingston DT Ultimate 32GB USB 3.0 on DWC2 OTG controller. | ||||||
|  | 	 */ | ||||||
|  | 	mdelay(10); | ||||||
|  | 
 | ||||||
| 	debug("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n", | 	debug("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n", | ||||||
| 	      dev->descriptor.iManufacturer, dev->descriptor.iProduct, | 	      dev->descriptor.iManufacturer, dev->descriptor.iProduct, | ||||||
| 	      dev->descriptor.iSerialNumber); | 	      dev->descriptor.iSerialNumber); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue