transfer to the transfer list and scheduling the transfer descriptors on the
controller by switching the endpoint tail. Since we only check that the endpoint
head is equal to the endpoint tail to conclude that there are no active
transfers, we need to ensure that we don't accidently do that check before the
transfer descriptors are scheduled. Otherwise we could happen to processed a not
yet started transfer and finishing it before an actual transfer has taken place.
This would then lead to 0 byte transfers and toggle mismatches. To fix this we
now protect the transfer addition and tail switching as well as the check in the
finisher with a per-endpoint mutex. Note that we allocate the lock on the heap
and only store the pointer in the endpoint structure as this one is allocated
from the precious physical memory pool. Could fix#4067.
Also switched the Jamfile to UsePrivateKernelHeaders (for the MutexLocker) and
removed BeOS compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33129 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add output support
* fix variable lenght input: all usb_midi_event_packet bytes were
always returned before.
Missing features are:
* multiport support (input from any ports are read and merged currently,
so beware to connect only one port!)
* non-standard USB midi adapters, like my Roland UM-2 which don't advertize
themselves as Audio / Midi stream class/subclass.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33126 a95241bf-73f2-0310-859d-f6bbb57e9c96
* increased responses count
* only unmute active inputs on mixer widgets
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33120 a95241bf-73f2-0310-859d-f6bbb57e9c96
its open_dir() implementation instead (as suggested by Ingo).
-alphabranch (it's only a cleanup)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33025 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Implements STARTTLS support to the SMTP add-on.
- Untested, but implementation matches RFC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33012 a95241bf-73f2-0310-859d-f6bbb57e9c96
seems to incorrectly set pseconds to 0 for the first track, leading to an LBA of
-150 which messes up session recognition. Works around VMWare issue in #4439.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32990 a95241bf-73f2-0310-859d-f6bbb57e9c96
resetting the bus. This allows to skip devices that are not present. Works for
most but not all devices. Sometimes device 0 pretends that a device 1 exists,
but it's usefull anyway.
Allow working device 1 only configurations by not selecting device 0 anymore
for identification. Moved indentification from Reset into BusScan to do everything
in a single step. A SATA emulation in combined mode might have a slave (device 1)
only configuration when only one device is connected, depending on the port.
Also tested with PATA.
Recovery for lost interrupts. Works but is dead slow because of the timeout.
Bus reset isn't possible anymore, this needs to be implemented in a save way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32978 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also ignore simplex bit for Intel controllers, and use
DMA for both channels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32977 a95241bf-73f2-0310-859d-f6bbb57e9c96
Upperize/Capitalize on the bus name than in keyboard one.
"USB Keyboard" but "Usb Mouse".
No functional change. Really.
alphabranch it as you want.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32943 a95241bf-73f2-0310-859d-f6bbb57e9c96
as the other node operations.
* Differentiate between data and metadata modification, so that changes to
attributes or stat fields (other than size) dont't prevent direct IO relay.
* Suppress child finish notifications when sending subrequests to the
underlaying filesystem. Otherwise the request can be gone by the time we
try to complete it.
* Fix offsets used for IORequest::CopyData().
* Some refactoring.
* Added locking.
With that a write_overlay can be put on attribute enabled filesystems to either
make them writeable or snapshot them. This allows for example for a working
BFS based LiveCD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32937 a95241bf-73f2-0310-859d-f6bbb57e9c96
- check if we need to enable interrupts,
- always trace old/new cmd.
-alphabranch for now, needs testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32921 a95241bf-73f2-0310-859d-f6bbb57e9c96
by writing them into our buffers and directly satisfy read requests by copying
our buffers, filling any gaps by spawning off subrequests to the underlaying
filesystem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32900 a95241bf-73f2-0310-859d-f6bbb57e9c96