mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Print out correct USB connection speed for USB 3.0 mass storage devices.
Approved by: thompsa (mentor)
This commit is contained in:
parent
ad05f0993c
commit
c791ca5046
1 changed files with 15 additions and 6 deletions
|
|
@ -231,6 +231,7 @@ TUNABLE_INT("hw.usb.umass.debug", &umass_debug);
|
|||
/* Approximate maximum transfer speeds (assumes 33% overhead). */
|
||||
#define UMASS_FULL_TRANSFER_SPEED 1000
|
||||
#define UMASS_HIGH_TRANSFER_SPEED 40000
|
||||
#define UMASS_SUPER_TRANSFER_SPEED 400000
|
||||
#define UMASS_FLOPPY_TRANSFER_SPEED 20
|
||||
|
||||
#define UMASS_TIMEOUT 5000 /* ms */
|
||||
|
|
@ -2412,13 +2413,21 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb)
|
|||
if (sc->sc_quirks & FLOPPY_SPEED) {
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_FLOPPY_TRANSFER_SPEED;
|
||||
} else if (usbd_get_speed(sc->sc_udev) ==
|
||||
USB_SPEED_HIGH) {
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_HIGH_TRANSFER_SPEED;
|
||||
} else {
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_FULL_TRANSFER_SPEED;
|
||||
switch (usbd_get_speed(sc->sc_udev)) {
|
||||
case USB_SPEED_SUPER:
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_SUPER_TRANSFER_SPEED;
|
||||
break;
|
||||
case USB_SPEED_HIGH:
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_HIGH_TRANSFER_SPEED;
|
||||
break;
|
||||
default:
|
||||
cpi->base_transfer_speed =
|
||||
UMASS_FULL_TRANSFER_SPEED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
cpi->max_lun = sc->sc_maxlun;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue