Changeset 21231
- Timestamp:
- 05/24/07 17:45:11 (18 months ago)
- Location:
- haiku/trunk/src/add-ons/kernel/busses/usb
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
haiku/trunk/src/add-ons/kernel/busses/usb/ehci.cpp
r21059 r21231 11 11 #include <USB3.h> 12 12 #include <KernelExport.h> 13 #include <driver_settings.h> 13 14 14 15 #include "ehci.h" … … 111 112 fRootHub(NULL), 112 113 fRootHubAddress(0), 114 fKeepPortOwnership(false), 113 115 fPortCount(0), 114 116 fPortResetChange(0), … … 122 124 TRACE(("usb_ehci: constructing new EHCI Host Controller Driver\n")); 123 125 fInitOK = false; 126 127 void *handle = load_driver_settings("ehci"); 128 if (handle) { 129 fKeepPortOwnership = get_driver_boolean_parameter(handle, "keep_port_ownership", false, true); 130 unload_driver_settings(handle); 131 } 124 132 125 133 // enable busmaster and memory mapped access … … 678 686 uint32 portStatus = ReadOpReg(portRegister) & EHCI_PORTSC_DATAMASK; 679 687 680 if ( portStatus & EHCI_PORTSC_DMINUS) {688 if (!fKeepPortOwnership && (portStatus & EHCI_PORTSC_DMINUS)) { 681 689 TRACE(("usb_ehci: lowspeed device connected, giving up port ownership\n")); 682 690 // there is a lowspeed device connected. … … 702 710 } 703 711 704 if ( (portStatus & EHCI_PORTSC_ENABLE) == 0) {712 if (!fKeepPortOwnership && (portStatus & EHCI_PORTSC_ENABLE) == 0) { 705 713 TRACE(("usb_ehci: fullspeed device connected, giving up port ownership\n")); 706 714 // the port was not enabled, this means that no high speed device is -
haiku/trunk/src/add-ons/kernel/busses/usb/ehci.h
r21044 r21231 157 157 158 158 // Port management 159 bool fKeepPortOwnership; 159 160 uint8 fPortCount; 160 161 uint16 fPortResetChange;
