Merge branch 'master' of ssh://10.10.0.7/home/wd/git/u-boot/master
This commit is contained in:
commit
e0320b1ebe
3 changed files with 21 additions and 19 deletions
|
@ -554,13 +554,24 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strncmp(argv[1],"part",4) == 0) {
|
if (strncmp(argv[1],"part",4) == 0) {
|
||||||
int devno, ok;
|
int devno, ok = 0;
|
||||||
for (ok=0, devno=0; devno<USB_MAX_STOR_DEV; ++devno) {
|
if (argc==2) {
|
||||||
|
for (devno=0; devno<USB_MAX_STOR_DEV; ++devno) {
|
||||||
|
stor_dev=usb_stor_get_dev(devno);
|
||||||
|
if (stor_dev->type!=DEV_TYPE_UNKNOWN) {
|
||||||
|
ok++;
|
||||||
|
if (devno)
|
||||||
|
printf("\n");
|
||||||
|
printf("print_part of %x\n",devno);
|
||||||
|
print_part(stor_dev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
devno=simple_strtoul(argv[2], NULL, 16);
|
||||||
stor_dev=usb_stor_get_dev(devno);
|
stor_dev=usb_stor_get_dev(devno);
|
||||||
if (stor_dev->type!=DEV_TYPE_UNKNOWN) {
|
if (stor_dev->type!=DEV_TYPE_UNKNOWN) {
|
||||||
ok++;
|
ok++;
|
||||||
if (devno)
|
|
||||||
printf("\n");
|
|
||||||
printf("print_part of %x\n",devno);
|
printf("print_part of %x\n",devno);
|
||||||
print_part(stor_dev);
|
print_part(stor_dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,12 +146,9 @@ struct usb_string_descriptor *usbd_get_string (__u8 index)
|
||||||
static struct usb_configuration_instance *usbd_device_configuration_instance (struct usb_device_instance *device,
|
static struct usb_configuration_instance *usbd_device_configuration_instance (struct usb_device_instance *device,
|
||||||
unsigned int port, unsigned int configuration)
|
unsigned int port, unsigned int configuration)
|
||||||
{
|
{
|
||||||
/* XXX */
|
if (configuration >= device->configurations)
|
||||||
configuration = configuration ? configuration - 1 : 0;
|
|
||||||
|
|
||||||
if (configuration >= device->configurations) {
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
return device->configuration_instance_array + configuration;
|
return device->configuration_instance_array + configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -235,8 +235,8 @@ static int ep0_get_descriptor (struct usb_device_instance *device,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/*dbg_ep0(2, "%d %d", index, device_descriptor->bNumConfigurations); */
|
/*dbg_ep0(2, "%d %d", index, device_descriptor->bNumConfigurations); */
|
||||||
if (index > device_descriptor->bNumConfigurations) {
|
if (index >= device_descriptor->bNumConfigurations) {
|
||||||
dbg_ep0 (0, "index too large: %d > %d", index,
|
dbg_ep0 (0, "index too large: %d >= %d", index,
|
||||||
device_descriptor->
|
device_descriptor->
|
||||||
bNumConfigurations);
|
bNumConfigurations);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -571,14 +571,8 @@ int ep0_recv_setup (struct urb *urb)
|
||||||
|
|
||||||
case USB_REQ_SET_CONFIGURATION:
|
case USB_REQ_SET_CONFIGURATION:
|
||||||
/* c.f. 9.4.7 - the top half of wValue is reserved */
|
/* c.f. 9.4.7 - the top half of wValue is reserved */
|
||||||
/* */
|
device->configuration = le16_to_cpu(request->wValue) & 0xff;
|
||||||
if ((device->configuration =
|
|
||||||
le16_to_cpu (request->wValue) & 0xFF80) != 0) {
|
|
||||||
/* c.f. 9.4.7 - zero is the default or addressed state, in our case this */
|
|
||||||
/* is the same is configuration zero */
|
|
||||||
serial_printf("error setting dev->config to zero!\n");
|
|
||||||
device->configuration = 0; /* TBR - ?????? */
|
|
||||||
}
|
|
||||||
/* reset interface and alternate settings */
|
/* reset interface and alternate settings */
|
||||||
device->interface = device->alternate = 0;
|
device->interface = device->alternate = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue