Project

General

Profile

Bug #7974

usba: usba_process_cv_descr() needs to handle companion descs

Added by Dan McDonald almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
2017-03-15
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

Inspired by this report: https://github.com/joyent/smartos-live/issues/694 and seeing that our own Seagate USB3 drive wouldn't attach, I took the DTrace script provided there, and dove in, trying to see why the drive wouldn't attach.

I found out, once I dove in deep, that usba_process_cv_descr() was failing. It was failing because it didn't recognize the last-processed descriptor type. It should recognize it (a new USB3 descriptor type) and act accordingly. Once this failure is addressed, the rest of the USB3 stack should churn along and accept the drive.

History

#1

Updated by Robert Mustacchi almost 3 years ago

USB 3.x introduced a couple of new companion endpoint descriptors, these are descriptors which follow a USB endpoint, but occur before any vendor specific ones. The problem is that we missed updating a switch statement in the general USBA descriptor parsing code to handle this case. Basically the SuperSpeed Endpoint Companion Descriptor should be treated the same as the normal endpoint descriptor.

#2

Updated by Robert Mustacchi almost 3 years ago

  • Subject changed from Some USB3 drives don't attach to usba: usba_process_cv_descr() needs to handle companion descs
  • % Done changed from 0 to 100
  • Tags deleted (needs-triage)
#3

Updated by Electric Monk almost 3 years ago

  • Status changed from New to Closed

git commit b1c06e09487e261e84c3cea05e329fd46d712f71

commit  b1c06e09487e261e84c3cea05e329fd46d712f71
Author: Robert Mustacchi <rm@joyent.com>
Date:   2017-03-25T16:11:32.000Z

    7974 usba: usba_process_cv_descr() needs to handle companion descs
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Reviewed by: Dale Ghent <daleg@omniti.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Gordon Ross <gordon.w.ross@gmail.com>

Also available in: Atom PDF