Age | Commit message (Collapse) | Author |
|
delicate. HC drivers do not always accept to be left alone.
I don't know if it is a love crisis, but apparently receiving a root
hub status change interrupt before having an uhub(4) attached breaks
resume.
So make sure the root hub is re-attached before interrupt get enabled.
It is safe to do it during DVACT_RESUME since attaching root hubs do
not require any USB transfer.
Based on a diff from yasuoka@, fix a regression introduced in last
commit an reported by Abel Abraham Camarillo Ojeda on tech@ and Nils
R on bugs@.
|
|
ok deraadt@
|
|
|
|
This leak is similar to the public xfer leak #1 that was affecting
device interrupt pipes except that root hubs are rarely detached.
Note that this xfer is never associated to any TD and is just used
to indicate that some of the HC ports has changed status, so there
is no need to flag it as "done" before completing it.
|
|
|
|
|
|
cast bus_space_tag_t to (u_long)
|
|
Now that aborting interrupt pipes does not prevent us from freeing
the associated xfer, make sure to flag this xfer as "done" even if
there's no need to abort it in hardware.
|
|
uhidev_open() at attach time. This plugs up to 3 xfer leaks and a buffer
one.
ok yuo@
|
|
This is an MI driver currently targeting only the BCM53115 model,
but other Broadcom devices (specially from the 53XX family) can make use
of it as well.
The driver currently accounts just for the CPU port. The switch is left
in dumb-mode. Further advanced switch control is in the works.
Parts of this was inspired by looking at the b53 driver from the
OpenWrt project. Thanks!
Okay miod@
|
|
|
|
Okay miod@
|
|
|
|
ok miod@
|
|
ok jsg@
|
|
bus_addr_t and bus_size_t are u_long everywhere
ok kettenis@
|
|
bus_space_tag_t is a pointer everywhere, except on i386, where it's an int.
Cast to long.
ok kettenis@
'Right idiom' deraadt@
|
|
This fixes a format string warning. No change to the format string is
necessary.
suggested by kettenis@
|
|
This has the side effect of simplifying and reducing the differences
between the various *hci_alloc_*_chain() functions since they are the
principal place where we want to known if the transfer is a read or a
write.
|
|
|
|
From Alex Deucher
7752811a7d6be680e8f1a87da18e3670633981ee in ubuntu 3.8
16086279353cbfecbb3ead474072dced17b97ddc in mainline linux
|
|
From Giacomo Comes
95849485beb5e665d56269cd05c3c19df399fb20 in ubuntu 3.8
10b6ee4a87811a110cb01eaca01eb04da6801baf in mainline linux
|
|
From Jani Nikula
1f2561bd1e2c46145c643673b662c099d2074936 in ubuntu 3.8
e1f23f3dd817f53f622e486913ac662add46eeed in mainline linux
|
|
From Jani Nikula
083bda2f1130f185eccdf7c5cbbdb53fa88429b1 in ubuntu 3.8
0f540c3a7cfb91c9d7a19eb0c95c24c5de1197d5 in mainline linux
|
|
correctly.
Tested by nobody.
|
|
Get rid of the fake global lock code that these functions were using before.
ok pirofti@, mlarkin@
|
|
ok by dcoppa@
|
|
per-driver pool(9) instead.
|
|
Every call to usbd_abort_pipe() on an interrupt pipe would simply
reset the intrxfer pointer, which would prevent usbd_close_pipe()
to free it. Since we abort pipes in a lot of situations: when a
device is detached, when a USB-to-serial adapter is closed, when
an error occurs, when the machine is suspended, etc, this would
result in hundreds of leaked xfers in most of my machines.
xhci(4) is not affected, but you can't enable it right now since
the stack is not ready :)
While here put a KASSERT() to make sure drivers are only calling
the interrupt abort method for intrxfer, if that's not the case,
please let met know.
|
|
|
|
ok mpi
|
|
|
|
|
|
per-driver pool(9) instead.
With inputs from mikeb@
|
|
versus supported sensors table filtering.
discussed with and ok mpi@
|
|
for hardware to set a ready bit actually delays.
ok krw@ deraadt@ 'sounds correct' miod@
|
|
ok kettenis@
|
|
Since pipe methods have an xfer argument, always use it to get acces to
various data structure (pipe, bus, device) instead of having a different
way to get a pointer to these descriptors in every function.
Also kill the {E,U}XFER() macro and use a consistent name accross all the
methods for {e,u}hci_xfer.
|
|
grab the console.
This makes ddb(4) usable with any simple wired USB keyboard on G3/G4
machines that do not have adb(4) input devices, on G5s and certainly on
some MacBooks too.
ok andre@, miod@
|
|
|
|
to a port, restart the update process to keep things in sync. Domain
controller logins get special handling here because they don't show up in the
list of logged in ports.
|
|
code paths.
ok pirofti@
|
|
do so.
Freeing the hibernate structures too early leads to inadvertent calls into
splx when we aren't ready for them yet. Found when trapping splx calls in
the resume path.
discussed with deraadt@ at m2k14
|
|
|
|
This includes the GeForce GT 740M submitted by Rafael Neves on tech@,
thanks!
|
|
device of type PMS_STANDARD, probing during autoconf(9) is enough!.
In such case, the device can be a simple PS/2 mouse, a unsupported
touchpad or a downgraded touchpad if something bad happened. But
it is very unlikely that reprobing will improve the situation and
transform a standard mouse into a multitouch-aware touchpad ;)
This fixes the 12 seconds delay seen on various Dell laptops (E4310
and Latitude D630) when starting Xorg, reported by KÄrlis MiÄ·elsons
on bugs@.
ok stsp@, dcoppa@, shadchin@
|
|
ok mikeb@
|
|
|
|
and a infaceno argument instead of an iface pointer. While here,
remove some unused functions and inlined usbd_read_report_desc since
it is used only once.
This is part of plumbing required to convert the various USB HID devices
to handle multiples report IDs.
ok andre@
|
|
|