Fixed the debug output of the short descriptor and replaced remaining deviceNum with deviceAddress as that's what it is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17640 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b7a062b5ad
commit
61119116a2
@ -84,13 +84,13 @@ Device *
|
|||||||
BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
||||||
{
|
{
|
||||||
// Check if there is a free entry in the device map (for the device number)
|
// Check if there is a free entry in the device map (for the device number)
|
||||||
int8 deviceNum = AllocateAddress();
|
int8 deviceAddress = AllocateAddress();
|
||||||
if (deviceNum < 0) {
|
if (deviceAddress < 0) {
|
||||||
TRACE(("usb BusManager::AllocateNewDevice(): could not get a new address\n"));
|
TRACE(("usb BusManager::AllocateNewDevice(): could not get a new address\n"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE(("usb BusManager::AllocateNewDevice(): setting device address to %d\n", deviceNum));
|
TRACE(("usb BusManager::AllocateNewDevice(): setting device address to %d\n", deviceAddress));
|
||||||
|
|
||||||
ControlPipe *defaultPipe = (lowSpeed ? fDefaultPipeLowSpeed : fDefaultPipe);
|
ControlPipe *defaultPipe = (lowSpeed ? fDefaultPipeLowSpeed : fDefaultPipe);
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
|||||||
status_t result = defaultPipe->SendRequest(
|
status_t result = defaultPipe->SendRequest(
|
||||||
USB_REQTYPE_DEVICE_OUT | USB_REQTYPE_STANDARD, // type
|
USB_REQTYPE_DEVICE_OUT | USB_REQTYPE_STANDARD, // type
|
||||||
USB_REQUEST_SET_ADDRESS, // request
|
USB_REQUEST_SET_ADDRESS, // request
|
||||||
deviceNum, // value
|
deviceAddress, // value
|
||||||
0, // index
|
0, // index
|
||||||
0, // length
|
0, // length
|
||||||
NULL, // buffer
|
NULL, // buffer
|
||||||
@ -114,7 +114,7 @@ BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
|||||||
snooze(10000);
|
snooze(10000);
|
||||||
|
|
||||||
// Create a temporary pipe with the new address
|
// Create a temporary pipe with the new address
|
||||||
ControlPipe pipe(this, deviceNum, Pipe::Default,
|
ControlPipe pipe(this, deviceAddress, Pipe::Default,
|
||||||
lowSpeed ? Pipe::LowSpeed : Pipe::NormalSpeed, 0, 8);
|
lowSpeed ? Pipe::LowSpeed : Pipe::NormalSpeed, 0, 8);
|
||||||
|
|
||||||
// Get the device descriptor
|
// Get the device descriptor
|
||||||
@ -140,7 +140,7 @@ BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE(("short device descriptor for device %d:\n", deviceDescriptor));
|
TRACE(("short device descriptor for device %d:\n", deviceAddress));
|
||||||
TRACE(("\tlength:..............%d\n", deviceDescriptor.length));
|
TRACE(("\tlength:..............%d\n", deviceDescriptor.length));
|
||||||
TRACE(("\tdescriptor_type:.....0x%04x\n", deviceDescriptor.descriptor_type));
|
TRACE(("\tdescriptor_type:.....0x%04x\n", deviceDescriptor.descriptor_type));
|
||||||
TRACE(("\tusb_version:.........0x%04x\n", deviceDescriptor.usb_version));
|
TRACE(("\tusb_version:.........0x%04x\n", deviceDescriptor.usb_version));
|
||||||
@ -152,7 +152,7 @@ BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
|||||||
// Create a new instance based on the type (Hub or Device)
|
// Create a new instance based on the type (Hub or Device)
|
||||||
if (deviceDescriptor.device_class == 0x09) {
|
if (deviceDescriptor.device_class == 0x09) {
|
||||||
TRACE(("usb BusManager::AllocateNewDevice(): creating new hub\n"));
|
TRACE(("usb BusManager::AllocateNewDevice(): creating new hub\n"));
|
||||||
Device *ret = new Hub(this, parent, deviceDescriptor, deviceNum,
|
Device *ret = new Hub(this, parent, deviceDescriptor, deviceAddress,
|
||||||
lowSpeed);
|
lowSpeed);
|
||||||
|
|
||||||
if (parent == NULL) {
|
if (parent == NULL) {
|
||||||
@ -164,7 +164,7 @@ BusManager::AllocateNewDevice(Device *parent, bool lowSpeed)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TRACE(("usb BusManager::AllocateNewDevice(): creating new device\n"));
|
TRACE(("usb BusManager::AllocateNewDevice(): creating new device\n"));
|
||||||
return new Device(this, parent, deviceDescriptor, deviceNum, lowSpeed);
|
return new Device(this, parent, deviceDescriptor, deviceAddress, lowSpeed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -173,17 +173,17 @@ BusManager::AllocateAddress()
|
|||||||
{
|
{
|
||||||
acquire_sem_etc(fLock, 1, B_CAN_INTERRUPT, 0);
|
acquire_sem_etc(fLock, 1, B_CAN_INTERRUPT, 0);
|
||||||
|
|
||||||
int8 deviceNum = -1;
|
int8 deviceAddress = -1;
|
||||||
for (int32 i = 1; i < 128; i++) {
|
for (int32 i = 1; i < 128; i++) {
|
||||||
if (fDeviceMap[i] == false) {
|
if (fDeviceMap[i] == false) {
|
||||||
deviceNum = i;
|
deviceAddress = i;
|
||||||
fDeviceMap[i] = true;
|
fDeviceMap[i] = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
release_sem(fLock);
|
release_sem(fLock);
|
||||||
return deviceNum;
|
return deviceAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user