137 |
137 |
bus = usb_bus_find(-1);
|
138 |
138 |
if (!bus)
|
139 |
139 |
return NULL;
|
140 |
|
error_report("%s: no bus specified, using \"%s\" for \"%s\"\n",
|
|
140 |
error_report("%s: no bus specified, using \"%s\" for \"%s\"",
|
141 |
141 |
__FUNCTION__, bus->qbus.name, name);
|
142 |
142 |
}
|
143 |
143 |
#endif
|
... | ... | |
152 |
152 |
int rc;
|
153 |
153 |
|
154 |
154 |
if (!dev) {
|
155 |
|
error_report("Failed to create USB device '%s'\n", name);
|
|
155 |
error_report("Failed to create USB device '%s'", name);
|
156 |
156 |
return NULL;
|
157 |
157 |
}
|
158 |
158 |
rc = qdev_init(&dev->qdev);
|
159 |
159 |
if (rc < 0) {
|
160 |
|
error_report("Failed to initialize USB device '%s'\n", name);
|
|
160 |
error_report("Failed to initialize USB device '%s'", name);
|
161 |
161 |
return NULL;
|
162 |
162 |
}
|
163 |
163 |
return dev;
|
... | ... | |
244 |
244 |
}
|
245 |
245 |
}
|
246 |
246 |
if (port == NULL) {
|
247 |
|
error_report("Error: usb port %s (bus %s) not found (in use?)\n",
|
|
247 |
error_report("Error: usb port %s (bus %s) not found (in use?)",
|
248 |
248 |
dev->port_path, bus->qbus.name);
|
249 |
249 |
return -1;
|
250 |
250 |
}
|
... | ... | |
255 |
255 |
}
|
256 |
256 |
if (bus->nfree == 0) {
|
257 |
257 |
error_report("Error: tried to attach usb device %s to a bus "
|
258 |
|
"with no free ports\n", dev->product_desc);
|
|
258 |
"with no free ports", dev->product_desc);
|
259 |
259 |
return -1;
|
260 |
260 |
}
|
261 |
261 |
port = QTAILQ_FIRST(&bus->free);
|
... | ... | |
302 |
302 |
|
303 |
303 |
if (!(port->speedmask & dev->speedmask)) {
|
304 |
304 |
error_report("Warning: speed mismatch trying to attach "
|
305 |
|
"usb device %s to bus %s\n",
|
|
305 |
"usb device %s to bus %s",
|
306 |
306 |
dev->product_desc, bus->qbus.name);
|
307 |
307 |
return -1;
|
308 |
308 |
}
|