2 /* Driver for USB scsi like devices
4 * (C) Michael Gee (michael@linuxspecific.com) 1999
8 #include <linux/module.h>
9 #include <linux/kernel.h>
10 #include <linux/sched.h>
11 #include <linux/signal.h>
12 #include <linux/errno.h>
13 #include <linux/miscdevice.h>
14 #include <linux/random.h>
15 #include <linux/poll.h>
16 #include <linux/init.h>
17 #include <linux/malloc.h>
18 #include <linux/spinlock.h>
20 #include <linux/blk.h>
21 #include "../scsi/scsi.h"
22 #include "../scsi/hosts.h"
23 #include "../scsi/sd.h"
28 void us_show_command(Scsi_Cmnd
*srb
)
32 switch (srb
->cmnd
[0]) {
33 case TEST_UNIT_READY
: what
= "TEST_UNIT_READY"; break;
34 case REZERO_UNIT
: what
= "REZERO_UNIT"; break;
35 case REQUEST_SENSE
: what
= "REQUEST_SENSE"; break;
36 case FORMAT_UNIT
: what
= "FORMAT_UNIT"; break;
37 case READ_BLOCK_LIMITS
: what
= "READ_BLOCK_LIMITS"; break;
38 case REASSIGN_BLOCKS
: what
= "REASSIGN_BLOCKS"; break;
39 case READ_6
: what
= "READ_6"; break;
40 case WRITE_6
: what
= "WRITE_6"; break;
41 case SEEK_6
: what
= "SEEK_6"; break;
42 case READ_REVERSE
: what
= "READ_REVERSE"; break;
43 case WRITE_FILEMARKS
: what
= "WRITE_FILEMARKS"; break;
44 case SPACE
: what
= "SPACE"; break;
45 case INQUIRY
: what
= "INQUIRY"; break;
46 case RECOVER_BUFFERED_DATA
: what
= "RECOVER_BUFFERED_DATA"; break;
47 case MODE_SELECT
: what
= "MODE_SELECT"; break;
48 case RESERVE
: what
= "RESERVE"; break;
49 case RELEASE
: what
= "RELEASE"; break;
50 case COPY
: what
= "COPY"; break;
51 case ERASE
: what
= "ERASE"; break;
52 case MODE_SENSE
: what
= "MODE_SENSE"; break;
53 case START_STOP
: what
= "START_STOP"; break;
54 case RECEIVE_DIAGNOSTIC
: what
= "RECEIVE_DIAGNOSTIC"; break;
55 case SEND_DIAGNOSTIC
: what
= "SEND_DIAGNOSTIC"; break;
56 case ALLOW_MEDIUM_REMOVAL
: what
= "ALLOW_MEDIUM_REMOVAL"; break;
57 case SET_WINDOW
: what
= "SET_WINDOW"; break;
58 case READ_CAPACITY
: what
= "READ_CAPACITY"; break;
59 case READ_10
: what
= "READ_10"; break;
60 case WRITE_10
: what
= "WRITE_10"; break;
61 case SEEK_10
: what
= "SEEK_10"; break;
62 case WRITE_VERIFY
: what
= "WRITE_VERIFY"; break;
63 case VERIFY
: what
= "VERIFY"; break;
64 case SEARCH_HIGH
: what
= "SEARCH_HIGH"; break;
65 case SEARCH_EQUAL
: what
= "SEARCH_EQUAL"; break;
66 case SEARCH_LOW
: what
= "SEARCH_LOW"; break;
67 case SET_LIMITS
: what
= "SET_LIMITS"; break;
68 case READ_POSITION
: what
= "READ_POSITION"; break;
69 case SYNCHRONIZE_CACHE
: what
= "SYNCHRONIZE_CACHE"; break;
70 case LOCK_UNLOCK_CACHE
: what
= "LOCK_UNLOCK_CACHE"; break;
71 case READ_DEFECT_DATA
: what
= "READ_DEFECT_DATA"; break;
72 case MEDIUM_SCAN
: what
= "MEDIUM_SCAN"; break;
73 case COMPARE
: what
= "COMPARE"; break;
74 case COPY_VERIFY
: what
= "COPY_VERIFY"; break;
75 case WRITE_BUFFER
: what
= "WRITE_BUFFER"; break;
76 case READ_BUFFER
: what
= "READ_BUFFER"; break;
77 case UPDATE_BLOCK
: what
= "UPDATE_BLOCK"; break;
78 case READ_LONG
: what
= "READ_LONG"; break;
79 case WRITE_LONG
: what
= "WRITE_LONG"; break;
80 case CHANGE_DEFINITION
: what
= "CHANGE_DEFINITION"; break;
81 case WRITE_SAME
: what
= "WRITE_SAME"; break;
82 case READ_TOC
: what
= "READ_TOC"; break;
83 case LOG_SELECT
: what
= "LOG_SELECT"; break;
84 case LOG_SENSE
: what
= "LOG_SENSE"; break;
85 case MODE_SELECT_10
: what
= "MODE_SELECT_10"; break;
86 case MODE_SENSE_10
: what
= "MODE_SENSE_10"; break;
87 case MOVE_MEDIUM
: what
= "MOVE_MEDIUM"; break;
88 case READ_12
: what
= "READ_12"; break;
89 case WRITE_12
: what
= "WRITE_12"; break;
90 case WRITE_VERIFY_12
: what
= "WRITE_VERIFY_12"; break;
91 case SEARCH_HIGH_12
: what
= "SEARCH_HIGH_12"; break;
92 case SEARCH_EQUAL_12
: what
= "SEARCH_EQUAL_12"; break;
93 case SEARCH_LOW_12
: what
= "SEARCH_LOW_12"; break;
94 case READ_ELEMENT_STATUS
: what
= "READ_ELEMENT_STATUS"; break;
95 case SEND_VOLUME_TAG
: what
= "SEND_VOLUME_TAG"; break;
96 case WRITE_LONG_2
: what
= "WRITE_LONG_2"; break;
99 printk(KERN_DEBUG USB_SCSI
"Command %s (%d bytes)\n", what
, srb
->cmd_len
);
100 printk(KERN_DEBUG USB_SCSI
" %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
101 srb
->cmnd
[0], srb
->cmnd
[1], srb
->cmnd
[2], srb
->cmnd
[3], srb
->cmnd
[4], srb
->cmnd
[5],
102 srb
->cmnd
[6], srb
->cmnd
[7], srb
->cmnd
[8], srb
->cmnd
[9]);