summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMacpaul Lin <[email protected]>2026-03-05 18:23:24 +0800
committerTom Rini <[email protected]>2026-03-16 10:39:26 -0600
commit041364141b7daef8318a4b8495cac8570002773f (patch)
treefcb961a78ca9b2ea99095aeb1ead465b7e1a093b
parentc4fcf9b806aefd6ab18edca59994c5a106d5e9ff (diff)
scsi: Adjust SCSI inquiry command data length
Per the SCSI SPC-4 specification, the standard inquiry data length should not be less than 36 bytes. The current implementation uses 512 bytes, which causes detection failures on some UFS devices (e.g., Longsys) that do not expect a transfer length exceeding the standard inquiry size. Align the default standard inquiry length with the Linux kernel's implementation (see drivers/scsi/scsi_scan.c), which uses 36 bytes as the default. Devices requiring vendor-specific inquiry lengths should be handled through quirk settings in the future. Signed-off-by: ht.lin <[email protected]> Signed-off-by: Macpaul Lin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
-rw-r--r--drivers/scsi/scsi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 8fe6b38a8c7..116b696b08d 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -513,7 +513,7 @@ static int scsi_detect_dev(struct udevice *dev, int target, int lun,
pccb->target = target;
pccb->lun = lun;
pccb->pdata = tempbuff;
- pccb->datalen = 512;
+ pccb->datalen = 36;
pccb->dma_dir = DMA_FROM_DEVICE;
scsi_setup_inquiry(pccb);
if (scsi_exec(dev, pccb)) {