History log of /openbsd-src/sys/dev/usb/uhub.c (Results 26 – 50 of 98)
Revision Date Author Comments
# 02212bea 10-Aug-2014 mpi <mpi@openbsd.org>

Ask for the descriptor size corresponding to the number of ports present
in the hub, not from some random value from the stack.


# 1cb1f490 09-Aug-2014 mpi <mpi@openbsd.org>

Correctly recognize Super Speed devices, this is part of the work to
be able to use USB 3.0 devices behind an external hub.

This is a bit tricky because the SS status use a different power bit
that

Correctly recognize Super Speed devices, this is part of the work to
be able to use USB 3.0 devices behind an external hub.

This is a bit tricky because the SS status use a different power bit
that maps to the Low speed one. So no longer accept devices without
power bit and fallback to the parent hub's speed in case the status
does not report any particular speed.

Note that xhci(4) root hubs still set the traditionnal UPS_PORT_POWER
bit with the correct device speed.

show more ...


# 9f77a008 09-Aug-2014 mpi <mpi@openbsd.org>

Handle super speed hub descriptors.


# eff17a6a 09-Aug-2014 mpi <mpi@openbsd.org>

Do not store the whole USB hub descriptor in the "struct usbd_hub"
to help integrating super speed hubs that use a different descriptor.


# df2ac69f 12-Jul-2014 tedu <tedu@openbsd.org>

add a size argument to free. will be used soon, but for now default to 0.
after discussions with beck deraadt kettenis.


# 769226ae 09-Jul-2014 mpi <mpi@openbsd.org>

autoconf(9) is your friend and it knows you more than you think. It
even knows your children! So let him handle the seperation correctly.

Do not rewrite your own custom config_detach_children(9) a

autoconf(9) is your friend and it knows you more than you think. It
even knows your children! So let him handle the seperation correctly.

Do not rewrite your own custom config_detach_children(9) and as a bonus
start removing the usbd_port tentacles from the stack.

ok pirofti@, yuo@, miod@, deraadt@

show more ...


# d7fb4754 28-May-2014 mpi <mpi@openbsd.org>

Apart from the early exploration done to find a console keyboard during
the boot process, USB devices must be attached or detached from the usb
task thread in order to avoid races with periodical exp

Apart from the early exploration done to find a console keyboard during
the boot process, USB devices must be attached or detached from the usb
task thread in order to avoid races with periodical explorations issued
by uhub(4) interrupts.

Respect this rule when detaching root hubs during a suspend/resume cycle
and avoid some hangs due to the aforementioned race.

Tested by Mattieu Baptiste, thanks!

show more ...


# d66649df 11-Mar-2014 mpi <mpi@openbsd.org>

Kill dead links.


# 1ddbc187 08-Mar-2014 mpi <mpi@openbsd.org>

Recognize super speed devices, note that this driver sill uses
non-superspeed hub descriptors. This is the minimal change I
came with to be able to properly attach and use USB 3.0 devices
attached t

Recognize super speed devices, note that this driver sill uses
non-superspeed hub descriptors. This is the minimal change I
came with to be able to properly attach and use USB 3.0 devices
attached to a xHCI root hub, uhub(4) clearly needs some love.

show more ...


# 317d87b2 07-Mar-2014 mpi <mpi@openbsd.org>

Indtroduce usbd_get_hub_descriptor() to start cleaning uhub(4)'s mess.
This will help us deal with the different hub device descriptors used
by super speed devices.


# 498a57ab 19-Oct-2013 mpi <mpi@openbsd.org>

Make uhub_explore() return an int rather than a usbd_satus. This has
no direct impact since its return value is never checked but it allows
me to get rid of one (usless) status value.

Note that usb

Make uhub_explore() return an int rather than a usbd_satus. This has
no direct impact since its return value is never checked but it allows
me to get rid of one (usless) status value.

Note that usbd_status should be used for USB transfers.

show more ...


# 33e12103 21-May-2013 mpi <mpi@openbsd.org>

Simplify the debug output to help diagnose problems without needing
special glasses.

No object change if UHUB_DEBUG is not defined.


# ab0b1be7 15-Apr-2013 mglocker <mglocker@openbsd.org>

Get rid of various 'typedef struct' definitions and use plain structure
definitions instead. We don't change usb.h for now to stay compatible
with userland.

Tested by mpi@ on macppc and myself on i

Get rid of various 'typedef struct' definitions and use plain structure
definitions instead. We don't change usb.h for now to stay compatible
with userland.

Tested by mpi@ on macppc and myself on i386.

ok mpi@

show more ...


# b047b92c 28-Mar-2013 tedu <tedu@openbsd.org>

proc.h is way too much header for usb to handle.


# 8a31dd35 29-Sep-2011 stsp <stsp@openbsd.org>

Avoid a potential NULL dereference if nports == 0.
Found by Amit Kulkarni using clang.
Fix from jakemsr; his diff was sitting on tech@ since February.
ok myself, phessler, sthen, jasper
and also piro

Avoid a potential NULL dereference if nports == 0.
Found by Amit Kulkarni using clang.
Fix from jakemsr; his diff was sitting on tech@ since February.
ok myself, phessler, sthen, jasper
and also pirofti, mikeb, krw (back in February)

show more ...


# 0b1c7607 03-Jul-2011 matthew <matthew@openbsd.org>

Remove config_activate() and DVACT_ACTIVATE. PCMCIA's the only thing
that's ever used it, and it's long since been changed to use
DVACT_{QUIESCE,SUSPEND,RESUME} instead.

ok deraadt@, dlg@; miod@ al

Remove config_activate() and DVACT_ACTIVATE. PCMCIA's the only thing
that's ever used it, and it's long since been changed to use
DVACT_{QUIESCE,SUSPEND,RESUME} instead.

ok deraadt@, dlg@; miod@ also agreed with this idea when I brought it
up a few weeks ago

show more ...


# 0036ea2d 25-Jan-2011 jakemsr <jakemsr@openbsd.org>

garbage collect "usb events". without /dev/usb there is no way to access
them from userland, and nothing in the kernel uses them.

ok krw@, miod@


# 7b043b62 06-Dec-2010 jakemsr <jakemsr@openbsd.org>

* replace per-driver dying and/or other state variables with use of
usbd_deactivete() and usbd_is_dying()
* use usbd_deactivate() in activate()/DEACTIVATE
* convert a few more direct checks of the

* replace per-driver dying and/or other state variables with use of
usbd_deactivete() and usbd_is_dying()
* use usbd_deactivate() in activate()/DEACTIVATE
* convert a few more direct checks of the associated bus' dying flag
with usbd_is_dying()

show more ...


# 2066eee0 23-Sep-2010 jakemsr <jakemsr@openbsd.org>

add a 'dying' flag to struct usbd_bus. use this to signify the bus
is dying, instead of setting a flag in struct usb_softc. as
usbd_device_handle has a pointer to the usbd_bus it's attached to,
usb

add a 'dying' flag to struct usbd_bus. use this to signify the bus
is dying, instead of setting a flag in struct usb_softc. as
usbd_device_handle has a pointer to the usbd_bus it's attached to,
usb devices, and functions they run or functions run on their behalf,
can now easily check if their bus is dying. use this to stop
usbd_do_request* from running and the usb task thread from adding
new tasks when a device's bus is dying.

show more ...


# af76094e 23-Sep-2010 jakemsr <jakemsr@openbsd.org>

instead of running usb_explore() from individual kthreads for each
USB bus, make usb_explore() a usb_task. reduces races during normal
USB device detach, since now usb_tasks and detach happen in the

instead of running usb_explore() from individual kthreads for each
USB bus, make usb_explore() a usb_task. reduces races during normal
USB device detach, since now usb_tasks and detach happen in the same
process.
ok yuo@, matthew@ helped with the task thread loop

show more ...


# 6cb1b670 21-Sep-2010 sasano <sasano@openbsd.org>

The size of sc_status[] (the buffer for USB hub's interrupt pipe) will be
determined by bNbrPorts in hub descriptor.

USB hub sends status packet to host, it contains status bits for each port
and hu

The size of sc_status[] (the buffer for USB hub's interrupt pipe) will be
determined by bNbrPorts in hub descriptor.

USB hub sends status packet to host, it contains status bits for each port
and hub itself. So, the packet size is ceil((port + 1) / 8) bytes.

If host requests smaller than that size, the hub behavior is undefined.
Some hub (Intel's RMH for example) sends whole status every time,
it makes babble of USB. This is the reason that uhub_intr() of old code
was suffered from USBD_IOERROR,

Okay deraadt@ and yuo@.

show more ...


# 04680827 13-Nov-2009 deraadt <deraadt@openbsd.org>

do not need to pad up the uhub allocation anymore, from miod


# 8f7d7fbf 12-Nov-2009 deraadt <deraadt@openbsd.org>

Avoid using the trick of malloc'ing more than a struct to grow the array
of the last element. Bad technique. Use a pointer to the array. The
author (or later people) will often not pay attention t

Avoid using the trick of malloc'ing more than a struct to grow the array
of the last element. Bad technique. Use a pointer to the array. The
author (or later people) will often not pay attention to the consequences
of structure padding & alignment issues when they add new fields to the
base structure, and there will be fireworks.
tested by jasper, too

show more ...


# e78728c7 13-Oct-2009 pirofti <pirofti@openbsd.org>

Get rid of devact enum, substitute it with an int and coresponding defines.

This is needed for the addition of further suspend/resume actions.

Okay deraadt@, marco@.


# d874cce4 26-Jun-2008 ray <ray@openbsd.org>

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code t

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@

show more ...


1234