[U-Boot] [PATCH] USB: Remove LUN number from CDB

Abraham, Thomas t-abraham at ti.com
Tue Oct 28 12:21:31 CET 2008


The LUN number is not part of the Command Descriptor Block (CDB) for scsi inquiry, request sense, test unit ready, read capacity and read10 commands. This patch removes the LUN number information from the CDB.

Signed-off-by: Thomas Abraham <t-abraham at ti.com>

--- u-boot-usb/common/usb_storage.c.orig        2008-10-28 17:08:45.000000000 +0530
+++ u-boot-usb/common/usb_storage.c     2008-10-28 17:09:12.000000000 +0530
@@ -827,7 +827,6 @@ static int usb_inquiry(ccb *srb,struct u
        do {
                memset(&srb->cmd[0],0,12);
                srb->cmd[0]=SCSI_INQUIRY;
-               srb->cmd[1]=srb->lun<<5;
                srb->cmd[4]=36;
                srb->datalen=36;
                srb->cmdlen=12;
@@ -851,7 +850,6 @@ static int usb_request_sense(ccb *srb,st
        ptr=(char *)srb->pdata;
        memset(&srb->cmd[0],0,12);
        srb->cmd[0]=SCSI_REQ_SENSE;
-       srb->cmd[1]=srb->lun<<5;
        srb->cmd[4]=18;
        srb->datalen=18;
        srb->pdata = &srb->sense_buf[0];
@@ -869,7 +867,6 @@ static int usb_test_unit_ready(ccb *srb,
        do {
                memset(&srb->cmd[0],0,12);
                srb->cmd[0]=SCSI_TST_U_RDY;
-               srb->cmd[1]=srb->lun<<5;
                srb->datalen=0;
                srb->cmdlen=12;
                if(ss->transport(srb,ss)==USB_STOR_TRANSPORT_GOOD) {
@@ -889,7 +886,6 @@ static int usb_read_capacity(ccb *srb,st
        do {
                memset(&srb->cmd[0],0,12);
                srb->cmd[0]=SCSI_RD_CAPAC;
-               srb->cmd[1]=srb->lun<<5;
                srb->datalen=8;
                srb->cmdlen=12;
                if(ss->transport(srb,ss)==USB_STOR_TRANSPORT_GOOD) {
@@ -904,7 +900,6 @@ static int usb_read_10(ccb *srb,struct u
 {
        memset(&srb->cmd[0],0,12);
        srb->cmd[0]=SCSI_READ10;
-       srb->cmd[1]=srb->lun<<5;
        srb->cmd[2]=((unsigned char) (start>>24))&0xff;
        srb->cmd[3]=((unsigned char) (start>>16))&0xff;
        srb->cmd[4]=((unsigned char) (start>>8))&0xff;


More information about the U-Boot mailing list