mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 01:39:30 +00:00
[USBEHCI]
- Enable device as pci bus master - Fixes hanging of Vmware USB EHCI controller - Revert changes from 55293 from usb_queue - Currently crashes when usbstor wants to receive descriptors svn path=/branches/usb-bringup-trunk/; revision=55294
This commit is contained in:
parent
2b13dd5132
commit
a4c2608e34
3 changed files with 34 additions and 8 deletions
|
@ -226,14 +226,42 @@ CUSBHardwareDevice::Initialize(
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
if (!(PciConfig.Command & PCI_ENABLE_BUS_MASTER))
|
||||
{
|
||||
DPRINT1("PCI Configuration shows this as a non Bus Mastering device!\n");
|
||||
}
|
||||
|
||||
m_VendorID = PciConfig.VendorID;
|
||||
m_DeviceID = PciConfig.DeviceID;
|
||||
|
||||
|
||||
if (PciConfig.Command & PCI_ENABLE_BUS_MASTER)
|
||||
{
|
||||
//
|
||||
// master is enabled
|
||||
//
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
DPRINT1("PCI Configuration shows this as a non Bus Mastering device! Enabling...\n");
|
||||
|
||||
PciConfig.Command |= PCI_ENABLE_BUS_MASTER;
|
||||
BusInterface.SetBusData(BusInterface.Context, PCI_WHICHSPACE_CONFIG, &PciConfig, 0, PCI_COMMON_HDR_LENGTH);
|
||||
|
||||
BytesRead = (*BusInterface.GetBusData)(BusInterface.Context,
|
||||
PCI_WHICHSPACE_CONFIG,
|
||||
&PciConfig,
|
||||
0,
|
||||
PCI_COMMON_HDR_LENGTH);
|
||||
|
||||
if (BytesRead != PCI_COMMON_HDR_LENGTH)
|
||||
{
|
||||
DPRINT1("Failed to get pci config information!\n");
|
||||
ASSERT(FALSE);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
if (!(PciConfig.Command & PCI_ENABLE_BUS_MASTER))
|
||||
{
|
||||
PciConfig.Command |= PCI_ENABLE_BUS_MASTER;
|
||||
DPRINT1("Failed to enable master\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -368,8 +368,6 @@ CUSBQueue::AddUSBRequest(
|
|||
m_Hardware->GetCommandRegister(&UsbCmd);
|
||||
ASSERT(UsbCmd.AsyncEnable == TRUE);
|
||||
|
||||
m_Hardware->SetAsyncListRegister(QueueHead->PhysicalAddr);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define USBEHCI_H__
|
||||
|
||||
#include <ntddk.h>
|
||||
#define NDEBUG
|
||||
#define YDEBUG
|
||||
#include <debug.h>
|
||||
#include <hubbusif.h>
|
||||
#include <usbbusif.h>
|
||||
|
|
Loading…
Reference in a new issue