diff options
| author | Michael Paepcke <fbsd@paepcke.de> | 2023-02-16 16:58:30 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2023-02-19 03:12:56 +0000 |
| commit | dbfdc2fdb0924ae6810153a7fb030b2582a31a12 (patch) | |
| tree | dd276be7a892677bf14ebfa4fcd1d6702f6394e9 | |
| parent | fb22c140cc11bec1e19f4825b54d1e8c8004fdf6 (diff) | |
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
Approved by: re (cperciva)
(cherry picked from commit 7d4b2b5834dba66732596d68d7f817d18affb67f)
(cherry picked from commit 356e03eace327e3b255834d4a1e6a7278663ce85)
| -rw-r--r-- | sys/dev/usb/usb_msctest.c | 16 | ||||
| -rw-r--r-- | sys/dev/usb/usb_msctest.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_msctest.c b/sys/dev/usb/usb_msctest.c index 5dcf8d151119..338c17983d92 100644 --- a/sys/dev/usb/usb_msctest.c +++ b/sys/dev/usb/usb_msctest.c @@ -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 diff --git a/sys/dev/usb/usb_msctest.h b/sys/dev/usb/usb_msctest.h index ba4e094bab60..08a7de1b5b9c 100644 --- a/sys/dev/usb/usb_msctest.h +++ b/sys/dev/usb/usb_msctest.h @@ -36,6 +36,8 @@ enum { MSC_EJECT_CMOTECH, MSC_EJECT_HUAWEI, MSC_EJECT_HUAWEI2, + MSC_EJECT_HUAWEI3, + MSC_EJECT_HUAWEI4, MSC_EJECT_TCT, }; |
