Silence detach messages if the device has marked itself quiet (u3g).

MFC after:	3 weeks
This commit is contained in:
Nick Hibma 2008-11-13 21:46:19 +00:00
parent ab72d59941
commit eaa5bb21ca
2 changed files with 16 additions and 13 deletions

View file

@ -679,11 +679,11 @@ usbd_set_config_index(usbd_device_handle dev, int index, int msg)
DPRINTF(("power exceeded %d %d\n", power,dev->powersrc->power));
/* XXX print nicer message. */
if (msg)
printf("%s: device addr %d (config %d) exceeds power "
"budget, %d mA > %d mA\n",
device_get_nameunit(dev->bus->bdev), dev->address,
cdp->bConfigurationValue,
power, dev->powersrc->power);
device_printf(dev->bus->bdev,
"device addr %d (config %d) exceeds "
"power budget, %d mA > %d mA\n",
dev->address, cdp->bConfigurationValue,
power, dev->powersrc->power);
err = USBD_NO_POWER;
goto bad;
}
@ -1017,8 +1017,7 @@ usbd_new_device(device_t parent, usbd_bus_handle bus, int depth,
bus, port, depth, speed));
addr = usbd_getnewaddr(bus);
if (addr < 0) {
printf("%s: No free USB addresses, new device ignored.\n",
device_get_nameunit(bus->bdev));
device_printf(bus->bdev, "No free USB addresses\n");
return (USBD_NO_ADDR);
}
@ -1364,11 +1363,14 @@ usb_disconnect_port(struct usbd_port *up, device_t parent)
if (dev->subdevs != NULL) {
DPRINTFN(3,("usb_disconnect_port: disconnect subdevs\n"));
for (i = 0; dev->subdevs[i]; i++) {
printf("%s: at %s", device_get_nameunit(dev->subdevs[i]),
hubname);
if (up->portno != 0)
printf(" port %d", up->portno);
printf(" (addr %d) disconnected\n", dev->address);
if (!device_is_quiet(dev->subdevs[i])) {
device_printf(dev->subdevs[i],
"at %s", hubname);
if (up->portno != 0)
printf(" port %d", up->portno);
printf(" (addr %d) disconnected\n", dev->address);
}
struct usb_attach_arg *uaap =
device_get_ivars(dev->subdevs[i]);
device_detach(dev->subdevs[i]);

View file

@ -2476,7 +2476,8 @@ device_detach(device_t dev)
if ((error = DEVICE_DETACH(dev)) != 0)
return (error);
devremoved(dev);
device_printf(dev, "detached\n");
if (!device_is_quiet(dev))
device_printf(dev, "detached\n");
if (dev->parent)
BUS_CHILD_DETACHED(dev->parent, dev);