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

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@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;

Dear Remy,
In message 19F8576C6E063C45BE387C64729E739403E5CA662B@dbde02.ent.ti.com "Abraham, Thomas" wrote:
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@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;
Is this patch still in some of your queues?
Best regards,
Wolfgang Denk

Hello Wolfgang,
In message 19F8576C6E063C45BE387C64729E739403E5CA662B@dbde02.ent.ti.com "Abraham, Thomas" wrote:
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@ti.com
Is this patch still in some of your queues?
It seems to be a patch that was posted around the time I started with the custodianship, and apparently I missed it back then. I will look at in detail later today.
Kind Regards,

Hello Thomas,
2009/2/10 Remy Bohmer linux@bohmer.net:
Hello Wolfgang,
In message 19F8576C6E063C45BE387C64729E739403E5CA662B@dbde02.ent.ti.com "Abraham, Thomas" wrote:
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@ti.com
Is this patch still in some of your queues?
Applied to the U-boot-usb tree Thanks.
Remy
participants (3)
-
Abraham, Thomas
-
Remy Bohmer
-
Wolfgang Denk