usb: add new scsi_huawei eject3 & eject4 sequences

Add new Huawei eject3 and eject4 command sequences.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/633
This commit is contained in:
Michael Paepcke 2022-12-16 10:21:14 +00:00 committed by Warner Losh
parent 64fd867f8c
commit 7d4b2b5834
2 changed files with 18 additions and 0 deletions

View File

@ -107,6 +107,12 @@ static uint8_t scsi_huawei_eject[] = { 0x11, 0x06, 0x00, 0x00, 0x00, 0x00,
static uint8_t scsi_huawei_eject2[] = { 0x11, 0x06, 0x20, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 };
static uint8_t scsi_huawei_eject3[] = { 0x11, 0x06, 0x20, 0x00, 0x00, 0x01,
0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 };
static uint8_t scsi_huawei_eject4[] = { 0x11, 0x06, 0x30, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 };
static uint8_t scsi_tct_eject[] = { 0x06, 0xf5, 0x04, 0x02, 0x52, 0x70 };
static uint8_t scsi_sync_cache[] = { 0x35, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 };
@ -1005,6 +1011,16 @@ usb_msc_eject(struct usb_device *udev, uint8_t iface_index, int method)
&scsi_huawei_eject2, sizeof(scsi_huawei_eject2),
USB_MS_HZ);
break;
case MSC_EJECT_HUAWEI3:
err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
&scsi_huawei_eject3, sizeof(scsi_huawei_eject3),
USB_MS_HZ);
break;
case MSC_EJECT_HUAWEI4:
err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
&scsi_huawei_eject4, sizeof(scsi_huawei_eject4),
USB_MS_HZ);
break;
case MSC_EJECT_TCT:
/*
* TCTMobile needs DIR_IN flag. To get it, we

View File

@ -36,6 +36,8 @@ enum {
MSC_EJECT_CMOTECH,
MSC_EJECT_HUAWEI,
MSC_EJECT_HUAWEI2,
MSC_EJECT_HUAWEI3,
MSC_EJECT_HUAWEI4,
MSC_EJECT_TCT,
};