History log of /netbsd-src/sys/dev/usb/uhub.c (Results 1 – 25 of 162)
Revision Date Author Comments
# 00e4c256 04-May-2024 mlelstv <mlelstv@NetBSD.org>

Use device_printf instead of autoconf messages for errors.


# fb372890 06-Apr-2022 mlelstv <mlelstv@NetBSD.org>

revert accidental last commit (except ukbd.c)


# 0e42e7d3 06-Apr-2022 mlelstv <mlelstv@NetBSD.org>

remove debug printf


# 8c58b809 04-Feb-2022 riastradh <riastradh@NetBSD.org>

uhub(4): Sprinkle dtrace probes.


# 02983654 15-Oct-2021 jmcneill <jmcneill@NetBSD.org>

Revert "usb: uhub: remove unnecessary delays when powering on ports"

syzbot says that the change exposes UB in usb_free_device and I can't
see how, so revert until I have a better understanding of w

Revert "usb: uhub: remove unnecessary delays when powering on ports"

syzbot says that the change exposes UB in usb_free_device and I can't
see how, so revert until I have a better understanding of what's going on.

Reported-by: syzbot+c445f7149cce07d4c252@syzkaller.appspotmail.com
Reported-by: syzbot+a2ae42f37de765a54b20@syzkaller.appspotmail.com

show more ...


# 98e6c539 11-Oct-2021 msaitoh <msaitoh@NetBSD.org>

Add missing inclusion of sys/bitops.h.


# f8c49175 11-Oct-2021 jmcneill <jmcneill@NetBSD.org>

uhub: Skip USB_POWER_DOWN_TIME delay for root hubs


# 7f8bfba6 11-Oct-2021 jmcneill <jmcneill@NetBSD.org>

Fix previous; restore 'up' pointer in second uhub_explore loop.


# 3d1f5c97 10-Oct-2021 jmcneill <jmcneill@NetBSD.org>

usb: uhub: remove unnecessary delays when powering on ports

In uhub_explore instead of waiting 300ms after powering up each
connected port, power up all of the connected ports and then wait for
300m

usb: uhub: remove unnecessary delays when powering on ports

In uhub_explore instead of waiting 300ms after powering up each
connected port, power up all of the connected ports and then wait for
300ms total.

show more ...


# d373b835 13-Jun-2021 riastradh <riastradh@NetBSD.org>

usb(4): Bus exploration is single-threaded -- assert it so.

New usb_in_event_thread(dev) returns true if dev is a USB device --
that is, a device with a usbN ancestor -- and the current thread is
th

usb(4): Bus exploration is single-threaded -- assert it so.

New usb_in_event_thread(dev) returns true if dev is a USB device --
that is, a device with a usbN ancestor -- and the current thread is
the USB event thread.

(Kinda kludgey to pass around the device_t instead of, say, struct
usbd_bus, but I don't see a good way to get to the usbN device_t or
struct usb_softc from there.)

show more ...


# b6b8e9f4 13-Jun-2021 riastradh <riastradh@NetBSD.org>

uhub(4): Defer rescan to USB event thread.

Keep all of the USB bus exploration in a single thread -- this
appears to have been the original assumption, violated back in 2008
when uhub_rescan was add

uhub(4): Defer rescan to USB event thread.

Keep all of the USB bus exploration in a single thread -- this
appears to have been the original assumption, violated back in 2008
when uhub_rescan was added, and will make everything simpler.

show more ...


# eb524e19 13-Jun-2021 riastradh <riastradh@NetBSD.org>

uhub(4): Trigger bus exploration after rescanning children.

Otherwise, if uhub4 is attached at uhub1, then when we do

# drvctl -d uhub4
# drvctl -r -a usbdevif uhub1

the rescan never discovers d

uhub(4): Trigger bus exploration after rescanning children.

Otherwise, if uhub4 is attached at uhub1, then when we do

# drvctl -d uhub4
# drvctl -r -a usbdevif uhub1

the rescan never discovers devices attached recursively at uhub4, and
uhub4 leaks a config_pending_incr count so it can't be detached.

show more ...


# 47e570fc 12-Jun-2021 riastradh <riastradh@NetBSD.org>

usb(4), uhub(4): Sprinkle usbhist.


# 53828d88 12-Jun-2021 riastradh <riastradh@NetBSD.org>

usb(4): Sprinkle kernel lock assertions.


# c354e0da 12-Jun-2021 riastradh <riastradh@NetBSD.org>

uhub(4): Allow only one explore/rescan at a time.

Otherwise we might simultaneously attach two autoconf instances of
the same device, which leads to no good.


# 92591997 05-Jun-2020 maxv <maxv@NetBSD.org>

Register eight vHCI buses, and use separate KCOV mailboxes for them.


# cbead101 31-May-2020 maxv <maxv@NetBSD.org>

sc_statuspend is allocated with kmem_zalloc, so no need to memset it.


# 5e7beab5 15-May-2020 maxv <maxv@NetBSD.org>

Introduce KCOV remote support. This allows to collect KCOV coverage on
threads other than curlwp, which is useful when fuzzing components that
defer processing, such as the network stack (partially r

Introduce KCOV remote support. This allows to collect KCOV coverage on
threads other than curlwp, which is useful when fuzzing components that
defer processing, such as the network stack (partially runs in softints)
and the USB stack (partially runs in uhub kthreads).

A subsystem that whishes to provide coverage for its threads creates a
"mailbox" via kcov_remote_register() and gives it a (subsystem, id)
identifier. There is one mailbox per "target lwp". The target lwp(s)
must then call kcov_remote_enter() and kcov_remote_leave() with the
identifier, to respectively enable and disable coverage within the
thread.

On the userland side, the fuzzer has access to the mailboxes on the
system with the KCOV_IOC_REMOTE_ATTACH and KCOV_IOC_REMOTE_DETACH ioctls.
When attached to a mailbox with a given identifier, the KCOV_IOC_ENABLE,
KCOV_IOC_DISABLE and mmap() operations will affect the mailbox.

As a demonstrator, the vHCI subsystem is changed to use KCOV mailboxes.
When the vHCI bus attaches it creates as many mailboxes as it has USB
ports, each mailbox being associated with a distinct port. Uhub is changed
to enable KCOV coverage in usbd_new_device(). With that in place, all of
the USB enumeration procedure can be traced with KCOV.

show more ...


# f76a6828 07-Jan-2020 maxv <maxv@NetBSD.org>

Localify, constify.


# 52a4543a 21-Aug-2019 mrg <mrg@NetBSD.org>

convert pairs of USBHIST_CALLED()+USBHIST_LOG*() into
USBHIST_CALLARGS() calls. this reduces the number of
kernel history lines consumed by these callers, and
for the +LOGN versions, add useful log

convert pairs of USBHIST_CALLED()+USBHIST_LOG*() into
USBHIST_CALLARGS() calls. this reduces the number of
kernel history lines consumed by these callers, and
for the +LOGN versions, add useful log info to a
message that just says "called!".

reduces the line spam which means the total info in a
full log is significantly increased.

show more ...


# 3b24a134 05-May-2019 mrg <mrg@NetBSD.org>

remove explicit 'extern struct cfdriver <my>_cd;' and use ioconf.h


# d5d625a4 23-Oct-2018 manu <manu@NetBSD.org>

Make USB port iteration code consistent, always startint at port #1

This complements change in revision 1.140


# 064e02ee 19-Oct-2018 manu <manu@NetBSD.org>

Make USB port numbers display consistent

Make sure USB ports numbers are displayed with the first one as number one
and not number zero when rescanning bus. The change makes the display
consistent w

Make USB port numbers display consistent

Make sure USB ports numbers are displayed with the first one as number one
and not number zero when rescanning bus. The change makes the display
consistent with the display at boot time USB discovery.

While we are there, make port iteration consistent everywhere in the code,
always starting at one instead of zero.

show more ...


# 275f5ff6 18-Sep-2018 mrg <mrg@NetBSD.org>

add config_pending usage to uhub and general USB device attachment.

- call config_pending_incr() and config_pending_decr() around attaching
devices against "usbdevif" attribute.

uhub:
- convert s

add config_pending usage to uhub and general USB device attachment.

- call config_pending_incr() and config_pending_decr() around attaching
devices against "usbdevif" attribute.

uhub:
- convert sc_explorepending and sc_running to bool. add new sc_first_explore.
- call config_pending_incr() at the start of uhub_attach(). dropped in
uhub_explore(), if this is the first explore.

show more ...


# a4f75621 01-Feb-2018 msaitoh <msaitoh@NetBSD.org>

Mark DVF_DETACH_SHUTDOWN to USB root HUB. This change makes USB host
controller drivers detachable. OK'd by Nick.


1234567