summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/core/ofnode.c12
-rw-r--r--drivers/misc/cros_ec_sandbox.c4
-rw-r--r--drivers/pci/pci-uclass.c28
-rw-r--r--drivers/scsi/scsi.c47
4 files changed, 51 insertions, 40 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 26e014d5c53..e040e3f2806 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -1961,6 +1961,12 @@ int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset,
ofnode uboot;
*bootscr_flash_offset = 0;
+
+ if (!bootscr_flash_size) {
+ dm_warn("bootscr-flash-size is zero. Ignoring properties!\n");
+ return -EINVAL;
+ }
+
*bootscr_flash_size = 0;
uboot = ofnode_path("/options/u-boot");
@@ -1979,12 +1985,6 @@ int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset,
if (ret)
return -EINVAL;
- if (!bootscr_flash_size) {
- dm_warn("bootscr-flash-size is zero. Ignoring properties!\n");
- *bootscr_flash_offset = 0;
- return -EINVAL;
- }
-
return 0;
}
diff --git a/drivers/misc/cros_ec_sandbox.c b/drivers/misc/cros_ec_sandbox.c
index 3ac690a3733..432b1fbb0c4 100644
--- a/drivers/misc/cros_ec_sandbox.c
+++ b/drivers/misc/cros_ec_sandbox.c
@@ -540,7 +540,7 @@ static int process_cmd(struct ec_state *ec,
const struct ec_params_vstore_write *req = req_data;
struct vstore_slot *slot;
- if (req->slot >= EC_VSTORE_SLOT_MAX)
+ if (req->slot >= VSTORE_SLOT_COUNT)
return -EINVAL;
slot = &ec->slot[req->slot];
slot->locked = true;
@@ -553,7 +553,7 @@ static int process_cmd(struct ec_state *ec,
struct ec_response_vstore_read *resp = resp_data;
struct vstore_slot *slot;
- if (req->slot >= EC_VSTORE_SLOT_MAX)
+ if (req->slot >= VSTORE_SLOT_COUNT)
return -EINVAL;
slot = &ec->slot[req->slot];
memcpy(resp->data, slot->data, EC_VSTORE_SLOT_SIZE);
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index 59894d2430b..c370f8c6400 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -385,8 +385,10 @@ static int pci_read_config(pci_dev_t bdf, int offset, unsigned long *valuep,
int ret;
ret = pci_get_bus(PCI_BUS(bdf), &bus);
- if (ret)
+ if (ret) {
+ *valuep = 0xffffffff;
return ret;
+ }
return pci_bus_read_config(bus, bdf, offset, valuep, size);
}
@@ -408,8 +410,10 @@ int pci_read_config32(pci_dev_t bdf, int offset, u32 *valuep)
int ret;
ret = pci_read_config(bdf, offset, &value, PCI_SIZE_32);
- if (ret)
+ if (ret) {
+ *valuep = 0xffffffff;
return ret;
+ }
*valuep = value;
return 0;
@@ -421,8 +425,10 @@ int pci_read_config16(pci_dev_t bdf, int offset, u16 *valuep)
int ret;
ret = pci_read_config(bdf, offset, &value, PCI_SIZE_16);
- if (ret)
+ if (ret) {
+ *valuep = 0xffff;
return ret;
+ }
*valuep = value;
return 0;
@@ -434,8 +440,10 @@ int pci_read_config8(pci_dev_t bdf, int offset, u8 *valuep)
int ret;
ret = pci_read_config(bdf, offset, &value, PCI_SIZE_8);
- if (ret)
+ if (ret) {
+ *valuep = 0xff;
return ret;
+ }
*valuep = value;
return 0;
@@ -447,8 +455,10 @@ int dm_pci_read_config8(const struct udevice *dev, int offset, u8 *valuep)
int ret;
ret = dm_pci_read_config(dev, offset, &value, PCI_SIZE_8);
- if (ret)
+ if (ret) {
+ *valuep = 0xff;
return ret;
+ }
*valuep = value;
return 0;
@@ -460,8 +470,10 @@ int dm_pci_read_config16(const struct udevice *dev, int offset, u16 *valuep)
int ret;
ret = dm_pci_read_config(dev, offset, &value, PCI_SIZE_16);
- if (ret)
+ if (ret) {
+ *valuep = 0xffff;
return ret;
+ }
*valuep = value;
return 0;
@@ -473,8 +485,10 @@ int dm_pci_read_config32(const struct udevice *dev, int offset, u32 *valuep)
int ret;
ret = dm_pci_read_config(dev, offset, &value, PCI_SIZE_32);
- if (ret)
+ if (ret) {
+ *valuep = 0xffffffff;
return ret;
+ }
*valuep = value;
return 0;
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 7d022ce718a..78efed6b66a 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -39,7 +39,7 @@ static void scsi_print_error(struct scsi_cmd *pccb)
#ifdef CONFIG_SYS_64BIT_LBA
void scsi_setup_read16(struct scsi_cmd *pccb, lbaint_t start,
- unsigned long blocks)
+ lbaint_t blocks)
{
pccb->cmd[0] = SCSI_READ16;
pccb->cmd[1] = 0;
@@ -83,7 +83,7 @@ static void scsi_setup_inquiry(struct scsi_cmd *pccb)
}
static void scsi_setup_sync_cache(struct scsi_cmd *pccb, lbaint_t start,
- unsigned short blocks)
+ lbaint_t blocks)
{
pccb->cmd[0] = SCSI_SYNC_CACHE;
pccb->cmd[1] = 0;
@@ -100,7 +100,7 @@ static void scsi_setup_sync_cache(struct scsi_cmd *pccb, lbaint_t start,
}
static void scsi_setup_read_ext(struct scsi_cmd *pccb, lbaint_t start,
- unsigned short blocks)
+ lbaint_t blocks)
{
pccb->cmd[0] = SCSI_READ10;
pccb->cmd[1] = 0;
@@ -121,7 +121,7 @@ static void scsi_setup_read_ext(struct scsi_cmd *pccb, lbaint_t start,
}
static void scsi_setup_write_ext(struct scsi_cmd *pccb, lbaint_t start,
- unsigned short blocks)
+ lbaint_t blocks)
{
pccb->cmd[0] = SCSI_WRITE10;
pccb->cmd[1] = 0;
@@ -143,7 +143,7 @@ static void scsi_setup_write_ext(struct scsi_cmd *pccb, lbaint_t start,
}
static void scsi_setup_erase_ext(struct scsi_cmd *pccb, lbaint_t start,
- unsigned short blocks)
+ lbaint_t blocks)
{
u8 *param = tempbuff;
const u8 param_size = 24;
@@ -193,9 +193,8 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
struct blk_desc *block_dev = dev_get_uclass_plat(dev);
struct udevice *bdev = dev->parent;
struct scsi_plat *uc_plat = dev_get_uclass_plat(bdev);
- lbaint_t start, blks, max_blks;
+ lbaint_t start, blks, max_blks, blocks;
uintptr_t buf_addr;
- unsigned short smallblks = 0;
struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */
@@ -217,7 +216,6 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
pccb->dma_dir = DMA_FROM_DEVICE;
#ifdef CONFIG_SYS_64BIT_LBA
if (start > SCSI_LBA48_READ) {
- unsigned long blocks;
blocks = min_t(lbaint_t, blks, max_blks);
pccb->datalen = block_dev->blksz * blocks;
scsi_setup_read16(pccb, start, blocks);
@@ -227,20 +225,20 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
#endif
if (blks > max_blks) {
pccb->datalen = block_dev->blksz * max_blks;
- smallblks = max_blks;
- scsi_setup_read_ext(pccb, start, smallblks);
+ blocks = max_blks;
+ scsi_setup_read_ext(pccb, start, blocks);
start += max_blks;
blks -= max_blks;
} else {
pccb->datalen = block_dev->blksz * blks;
- smallblks = (unsigned short)blks;
- scsi_setup_read_ext(pccb, start, smallblks);
+ blocks = blks;
+ scsi_setup_read_ext(pccb, start, blocks);
start += blks;
blks = 0;
}
debug("scsi_read_ext: startblk " LBAF
- ", blccnt %x buffer %lX\n",
- start, smallblks, buf_addr);
+ ", blccnt " LBAF " buffer %lX\n",
+ start, blocks, buf_addr);
if (scsi_exec(bdev, pccb)) {
scsi_print_error(pccb);
blkcnt -= blks;
@@ -249,7 +247,7 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
buf_addr += pccb->datalen;
} while (blks != 0);
debug("scsi_read_ext: end startblk " LBAF
- ", blccnt %x buffer %lX\n", start, smallblks, buf_addr);
+ ", blccnt " LBAF " buffer %lX\n", start, blocks, buf_addr);
return blkcnt;
}
@@ -263,9 +261,8 @@ static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
struct blk_desc *block_dev = dev_get_uclass_plat(dev);
struct udevice *bdev = dev->parent;
struct scsi_plat *uc_plat = dev_get_uclass_plat(bdev);
- lbaint_t start, blks, max_blks;
+ lbaint_t start, blks, max_blks, blocks;
uintptr_t buf_addr;
- unsigned short smallblks;
struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */
@@ -286,19 +283,19 @@ static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
pccb->dma_dir = DMA_TO_DEVICE;
if (blks > max_blks) {
pccb->datalen = block_dev->blksz * max_blks;
- smallblks = max_blks;
- scsi_setup_write_ext(pccb, start, smallblks);
+ blocks = max_blks;
+ scsi_setup_write_ext(pccb, start, blocks);
start += max_blks;
blks -= max_blks;
} else {
pccb->datalen = block_dev->blksz * blks;
- smallblks = (unsigned short)blks;
- scsi_setup_write_ext(pccb, start, smallblks);
+ blocks = blks;
+ scsi_setup_write_ext(pccb, start, blocks);
start += blks;
blks = 0;
}
- debug("%s: startblk " LBAF ", blccnt %x buffer %lx\n",
- __func__, start, smallblks, buf_addr);
+ debug("%s: startblk " LBAF ", blccnt " LBAF " buffer %lx\n",
+ __func__, start, blocks, buf_addr);
if (scsi_exec(bdev, pccb)) {
scsi_print_error(pccb);
blkcnt -= blks;
@@ -312,8 +309,8 @@ static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
if (scsi_exec(bdev, pccb))
scsi_print_error(pccb);
- debug("%s: end startblk " LBAF ", blccnt %x buffer %lX\n",
- __func__, start, smallblks, buf_addr);
+ debug("%s: end startblk " LBAF ", blccnt " LBAF " buffer %lX\n",
+ __func__, start, blocks, buf_addr);
return blkcnt;
}