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 voidus_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]);