From f6580ef39b332387f84334d238320ce99115af67 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 14 Jun 2017 21:28:44 -0600 Subject: [PATCH] dm: scsi: Adjust return value of scsi_exec() Change this function to return an error number instead of true/false. This allows us to return a proper error number. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- drivers/ata/ahci.c | 6 +++--- drivers/scsi/scsi.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 5a20b97..3528a1f 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -960,14 +960,14 @@ static int ahci_scsi_exec(struct udevice *dev, struct scsi_cmd *pccb) break; default: printf("Unsupport SCSI command 0x%02x\n", pccb->cmd[0]); - return false; + return -ENOTSUPP; } if (ret) { debug("SCSI command 0x%02x ret errno %d\n", pccb->cmd[0], ret); - return false; + return ret; } - return true; + return 0; } diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index f3f8d31..80c5ce6 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -368,7 +368,7 @@ static int scsi_read_capacity(struct udevice *dev, struct scsi_cmd *pccb, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */ pccb->datalen = 8; - if (scsi_exec(dev, pccb) != true) + if (scsi_exec(dev, pccb)) return 1; *capacity = ((lbaint_t)pccb->pdata[0] << 24) | @@ -393,7 +393,7 @@ static int scsi_read_capacity(struct udevice *dev, struct scsi_cmd *pccb, pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */ pccb->datalen = 16; - if (scsi_exec(dev, pccb) != true) + if (scsi_exec(dev, pccb)) return 1; *capacity = ((uint64_t)pccb->pdata[0] << 56) | @@ -499,7 +499,7 @@ static int scsi_detect_dev(struct udevice *dev, int target, int lun, pccb->pdata = (unsigned char *)&tempbuff; pccb->datalen = 512; scsi_setup_inquiry(pccb); - if (scsi_exec(dev, pccb) != true) { + if (scsi_exec(dev, pccb)) { if (pccb->contr_stat == SCSI_SEL_TIME_OUT) { /* * selection timeout => assuming no @@ -530,7 +530,7 @@ static int scsi_detect_dev(struct udevice *dev, int target, int lun, pccb->datalen = 0; scsi_setup_test_unit_ready(pccb); - if (scsi_exec(dev, pccb) != true) { + if (scsi_exec(dev, pccb)) { if (dev_desc->removable) { dev_desc->type = perq; goto removable;