git: u4b: Make autoquirk code optional and opt out

Aaron LI aly at crater.dragonflybsd.org
Sun May 17 05:21:44 PDT 2026


commit 1e808f1f9324c7b163d67cebfb5522bcfcd55b66
Author: Aaron LI <aly at aaronly.me>
Date:   Sun May 17 19:32:06 2026 +0800

    u4b: Make autoquirk code optional and opt out
    
    As the FreeBSD described:
    > There are significant problems with the current autoquirk code. This
    > results in quite a bit of bogus over-quirking.
    > ...
    > For all these reasons, I'm turning this off and will likely remove it
    > entirely in the future once the alternative SYNC CACHE code has
    > provent itself.
    
    Actually, this fixes the USB stick probing timeout error in a USB 3.0
    port on my HPE MicroServer Gen10.  That timeout error happened during
    the boot and would drop the system to the 'mountroot>' prompt:
    
    ```
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: ahci0
    CAM: Configuring bus: umass-sim0
    CAM: Configuring bus: ahci1
    CAM: Configuring 10 busses
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci0
    CAM: Finished configuring bus: ahci1
    ugen1.2: <vendor 0x0438> at usbus1
    uhub2: <vendor 0x0438 product 0x7900, class 9/0, rev 2.00/0.18, addr 2>
    on usbus1
    uhub2: 4 ports with 4 removable, self powered
    **WARNING** waiting for the following device to finish configuring:
      xpt:  func=0xffffffff802ac710 arg=0
    **WARNING** waiting for the following device to finish configuring:
      xpt:  func=0xffffffff802ac710 arg=0
    **WARNING** waiting for the following device to finish configuring:
      xpt:  func=0xffffffff802ac710 arg=0
    Giving up, interrupt routing is probably hosed
    ...
    Mounting root from ufs:part-by-label/DragonFly_v6.4.2.a
    no disk named 'part-by-label/DragonFly_v6.4.2.a'
    setrootbyname failed
    ffs_mountroot: can't find rootvp
    Root mount failed: 6
    
    Manual root filesystem specification:
      <fstype>:<device>  Specify root (e.g. ufs:da0s1a)
      ?                  List valid disk boot devices
      panic              Just panic
      abort              Abort manual input
    
    mountroot> (probe8:umass-sim0:0:0:0): Request completed with CAM_REQ_CMP_ERR
    (probe8:umass-sim0:0:0:0): Request completed with CAM_REQ_CMP_ERR
    (probe8:umass-sim0:0:0:0): Request completed with CAM_REQ_CMP_ERR
    (probe8:umass-sim0:0:0:0): Request completed with CAM_REQ_CMP_ERR
    (probe8:umass-sim0:0:0:0): Request completed with CAM_REQ_CMP_ERR
    CAM: Finished configuring bus: umass-sim0
    CAM: finished configuring all busses
    ```
    
    In addition, the USB stick didn't work in a USB 3.0 port after booting into the
    system.
    
    Before this fix, the USB stick had quirks: 0x8100<NO_GETMAXLUN,NO_PREVENT_ALLOW>.
    After apply this fix, the USB stick has no quirk and works.
    
    Obtained-from: FreeBSD (commit: d41600e59c3f13419066e9dd771a03328c44624f)

Summary of changes:
 sys/bus/u4b/usb_device.c    | 2 +-
 sys/bus/u4b/usb_dragonfly.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1e808f1f9324c7b163d67cebfb5522bcfcd55b66


-- 
DragonFly BSD source repository


More information about the Commits mailing list