Commit graph

319 commits

Author SHA1 Message Date
Cameron Gutman 6fab1a7c6a [USBSTOR]
- Fix a bug in SRB queuing

svn path=/branches/usb-bringup-trunk/; revision=55166
2012-01-25 01:46:35 +00:00
Cameron Gutman e3d0e34a18 [USBSTOR]
- Get the actual value for the removable media bit instead of hardcoding it to true

svn path=/branches/usb-bringup-trunk/; revision=55165
2012-01-25 01:09:59 +00:00
Cameron Gutman 131dbc69a7 [USBSTOR]
- Don't lie about removable media support for anything except hard drives

svn path=/branches/usb-bringup-trunk/; revision=55160
2012-01-25 00:03:18 +00:00
Cameron Gutman 11e87a17ea [USBSTOR]
- Rewrite pending SRB handling and change some behavior of the IRP queue
- The caller is no longer responsible for checking whether it can call USBSTOR_QueueNextRequest; frozen IRP queue and pending SRB are both handled for them
- It's no longer required for the caller of USBSTOR_QueueTerminateRequest to know whether the SRB was active (which was impossible before when handling a cancellation)
- Many potential race issues with IRP cancellation are eliminated
- Debugging hung SRBs is much easier now that pointer to the active one is stored in the FDO

svn path=/branches/usb-bringup-trunk/; revision=55157
2012-01-24 23:04:31 +00:00
Pierre Schweitzer 31572e7770 [MOUNTMGR]
Finally add the long awaited Mount Point Manager (aka mountmgr).
It's not complete yet, but will do most of the job it's been designed for.
What's missing is some dos volumes handlers, complete database support (local - registry - is complete, remote - files - is not).
It handles NTFS properties like reparse points.
It also handles devices with drive letters and those without drive letters (by using their unique ID).
Devices removal/arrival is detected through notifications (might be an issue).
Some work will have to be done in storage stack to fully support it.
Most of its IOCTL have been implemented (it's possible, for example, to notify a volume arrival through them, in case notifications don't work).

There's still some work to do on it to have it complete and fully implemented.
Enjoy!


svn path=/branches/usb-bringup-trunk/; revision=55156
2012-01-24 22:54:14 +00:00
Cameron Gutman 2f5db208de [USBSTOR]
- Fix broken IRP error handling and leaking memory

svn path=/branches/usb-bringup-trunk/; revision=55155
2012-01-24 22:28:44 +00:00
Cameron Gutman 75947d6708 [USBEHCI/USBOHCI]
- Handle invalid device handles gracefully instead of crashing

svn path=/branches/usb-bringup-trunk/; revision=55154
2012-01-24 22:21:30 +00:00
Cameron Gutman a65fd45042 [USBSTOR]
- Release the spinlock before returning (accidentally removed)

svn path=/branches/usb-bringup-trunk/; revision=55152
2012-01-24 21:33:51 +00:00
Johannes Anderwald 4f681bfe61 [USBEHCI]
- Display error status when host controller reports failure

svn path=/branches/usb-bringup-trunk/; revision=55149
2012-01-24 20:49:01 +00:00
Johannes Anderwald b4447be2c3 [USBHUB]
- Fix bugs introduced in 55134, 55135
- USB Mass Storage devices should now automatically install again

svn path=/branches/usb-bringup-trunk/; revision=55147
2012-01-24 17:00:30 +00:00
Cameron Gutman 94f1525447 [USBSTOR]
- Fix cancellation for IRPs that have already been dispatched for processing by IoStartNextPacket
- Don't complete IRPs with the IRP list lock held
- Clear the cancel routine before completing the IRP

svn path=/branches/usb-bringup-trunk/; revision=55138
2012-01-24 04:39:09 +00:00
Cameron Gutman cd1f4631f1 [CLASS2]
- Add back an accidentally removed line

svn path=/branches/usb-bringup-trunk/; revision=55137
2012-01-24 03:33:45 +00:00
Cameron Gutman fa62dde61b [CLASS2]
- Add more black magic to remove symbolic links when a drive is removed

svn path=/branches/usb-bringup-trunk/; revision=55136
2012-01-24 03:25:52 +00:00
Johannes Anderwald 3b70f619c8 [USBHUB]
- Add more checks for detecting composite device

svn path=/branches/usb-bringup-trunk/; revision=55135
2012-01-23 23:41:40 +00:00
Johannes Anderwald e62233a8e7 [USBHUB]
- Check if the device is a composite device
- Report USB\COMPOSITE as compatible id when a usb compsite device is detected

svn path=/branches/usb-bringup-trunk/; revision=55134
2012-01-23 23:29:54 +00:00
Johannes Anderwald 98731d6286 [USBOHCI]
- Fix warning
- Remove assert
[USBEHCI]
- Remove assert

svn path=/branches/usb-bringup-trunk/; revision=55122
2012-01-23 16:47:19 +00:00
Cameron Gutman eb6202bdb6 [USBEHCI]
- Remove unused variable

svn path=/branches/usb-bringup-trunk/; revision=55121
2012-01-23 16:29:43 +00:00
Johannes Anderwald fa3c4bb4eb [USBHUB]
- Silent traces

svn path=/branches/usb-bringup-trunk/; revision=55120
2012-01-23 16:25:43 +00:00
Cameron Gutman 1f321cafad [USB-BRINGUP-TRUNK]
- Allow surprise removal of HID devices
- Don't assemble useless empty resource lists

svn path=/branches/usb-bringup-trunk/; revision=55119
2012-01-23 16:22:43 +00:00
Johannes Anderwald 33e7325e17 [USBSTOR]
- Silent traces

svn path=/branches/usb-bringup-trunk/; revision=55118
2012-01-23 16:22:33 +00:00
Johannes Anderwald 88a17911fa [USBEHCI]
- Remove traces

svn path=/branches/usb-bringup-trunk/; revision=55117
2012-01-23 16:17:21 +00:00
Cameron Gutman 2e9bda4f63 [USB-BRINGUP-TRUNK]
- Store correct device power state for PowerSystemWorking

svn path=/branches/usb-bringup-trunk/; revision=55115
2012-01-23 16:06:32 +00:00
Cameron Gutman d55c9c5101 [USB-BRINGUP-TRUNK]
- Restore the frame interval register after a reset as per OHCI spec

svn path=/branches/usb-bringup-trunk/; revision=55112
2012-01-23 15:53:25 +00:00
Johannes Anderwald 8478147bbf [USBEHCI]
- Use the same lock in the IUSBQueue as in the IDMAMemoryManager
- add debug traces (default off)

svn path=/branches/usb-bringup-trunk/; revision=55110
2012-01-23 15:49:43 +00:00
Cameron Gutman 437353f8cd [USB-BRINGUP-TRUNK]
- Compute the frame interval correctly
- Fixes a deadlock on real hardware after enabling interrupts

svn path=/branches/usb-bringup-trunk/; revision=55094
2012-01-23 10:10:51 +00:00
Johannes Anderwald 1cdf0e1d0d [USBEHCI]
- Don't complete irps with lock held

svn path=/branches/usb-bringup-trunk/; revision=55091
2012-01-23 04:22:11 +00:00
Johannes Anderwald b434c46463 [USBEHCI]
- Don't acquire spinlock twice

svn path=/branches/usb-bringup-trunk/; revision=55090
2012-01-23 03:50:11 +00:00
Johannes Anderwald 99926db97d [USBSTOR]
- Fix attempt #2  the offset bug
- fix identation

svn path=/branches/usb-bringup-trunk/; revision=55089
2012-01-23 02:58:52 +00:00
Johannes Anderwald 8baf90438a [USBSTOR]
- Fix bug in usbstor, which did not take the offset into account

svn path=/branches/usb-bringup-trunk/; revision=55088
2012-01-23 02:49:40 +00:00
Cameron Gutman 3de4023a19 [USB-BRINGUP-TRUNK]
- Fix a broken check that resulted in freeing the same device object twice
- Enable the IoDetachDevice call in usbstor now that the kernel bug is fixed

svn path=/branches/usb-bringup-trunk/; revision=55086
2012-01-23 00:39:28 +00:00
Johannes Anderwald 7ec08a5b86 [USBOHCI]
- Implement interrupt routing

svn path=/branches/usb-bringup-trunk/; revision=55085
2012-01-23 00:36:00 +00:00
Thomas Faber abb3023120 [USBHUB_NEW]
- Fix another calling convention issue

svn path=/branches/usb-bringup-trunk/; revision=55084
2012-01-23 00:27:30 +00:00
Johannes Anderwald 6612dad386 [USBHUB_NEW]
- Fix calling convention of completion routine

svn path=/branches/usb-bringup-trunk/; revision=55083
2012-01-22 23:56:03 +00:00
Johannes Anderwald d5dec59f82 [USBHUB_NEW]
- Fix calling convention of completion routine

svn path=/branches/usb-bringup-trunk/; revision=55082
2012-01-22 23:25:33 +00:00
Cameron Gutman a1bb133fae [USB-BRINGUP-TRUNK]
- Implement device disconnect indication for usbehci and usbohci
- Implement device removal for FDOs and PDOs in usbstor and usbhub

svn path=/branches/usb-bringup-trunk/; revision=55080
2012-01-22 21:58:06 +00:00
Johannes Anderwald b4a6fc90da [USBSTOR]
- Implement legacy IOCTL IOCTL_SCSI_GET_CAPABILITIES,  IOCTL_SCSI_GET_INQUIRY_DATA, IOCTL_SCSI_GET_ADDRESS
- Patch by Cameron Gutman and minor modifications

svn path=/branches/usb-bringup-trunk/; revision=55075
2012-01-22 16:39:53 +00:00
Cameron Gutman 1365766e59 [USB-BRINGUP-TRUNK]
- Remove the legacy usbdrv

svn path=/branches/usb-bringup-trunk/; revision=55074
2012-01-22 16:07:58 +00:00
Johannes Anderwald 9d6209dc3a [USBHUB]
- Fix build

svn path=/branches/usb-bringup-trunk/; revision=55071
2012-01-22 14:58:19 +00:00
Johannes Anderwald f0f22e7bb2 [USBHUB]
- Check if there is device description buffer, as some usb devices don't provide one

svn path=/branches/usb-bringup-trunk/; revision=55070
2012-01-22 14:51:32 +00:00
Cameron Gutman 40a4151403 [USB-BRINGUP-TRUNK]
- Add a class2 hack to recognize and assign drive letters to storage devices added while the system is running

svn path=/branches/usb-bringup-trunk/; revision=55056
2012-01-21 22:08:33 +00:00
Johannes Anderwald a1a29073fa [HIDCLASS]
- Remove asserts which are hit during shutdown

svn path=/branches/usb-bringup-trunk/; revision=55049
2012-01-21 17:32:59 +00:00
Johannes Anderwald 0594c0a9a7 [USBHUB]
- Silence traces

svn path=/branches/usb-bringup-trunk/; revision=55045
2012-01-21 17:07:01 +00:00
Johannes Anderwald 6d707f2fb5 [HIDCLASS]
- Fix typo

svn path=/branches/usb-bringup-trunk/; revision=55044
2012-01-21 17:02:16 +00:00
Cameron Gutman 8fdcfb28ce [USB-BRINGUP-TRUNK]
- Open a file handle to the port driver like Windows does
- USB mice are working now

svn path=/branches/usb-bringup-trunk/; revision=55041
2012-01-21 02:59:46 +00:00
Johannes Anderwald 48c2e17262 [HIDCLASS]
- Remove superflous asserts

svn path=/branches/usb-bringup-trunk/; revision=55040
2012-01-21 01:56:02 +00:00
Johannes Anderwald 82153d9360 [USB-BRINGUP]
- Fix build of hidparse

svn path=/branches/usb-bringup-trunk/; revision=55039
2012-01-21 01:48:30 +00:00
Cameron Gutman 336d055fa8 [USB-BRINGUP-TRUNK]
- Fix a BSOD during usbstor device initialization
- Enable usbstor in 1st stage

svn path=/branches/usb-bringup-trunk/; revision=55036
2012-01-21 00:31:09 +00:00
Cameron Gutman d0fd35677e [USB-BRINGUP-TRUNK]
- Add usbd to bootcd because usbohci depends on it
- Make device interface creation failure a non-fatal error so the port drivers start successfully in 1st stage

svn path=/branches/usb-bringup-trunk/; revision=55034
2012-01-20 23:58:29 +00:00
Cameron Gutman cd068cb3c8 [USB-BRINGUP-TRUNK]
- Add add_cd_file line for mouhid

svn path=/branches/usb-bringup-trunk/; revision=55033
2012-01-20 23:24:07 +00:00
Cameron Gutman d8d06f0903 [USB-BRINGUP-TRUNK]
- Fix usbohci build

svn path=/branches/usb-bringup-trunk/; revision=55032
2012-01-20 23:19:18 +00:00