diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/core/ofnode.c | 12 | ||||
-rw-r--r-- | drivers/misc/cros_ec_sandbox.c | 4 | ||||
-rw-r--r-- | drivers/pci/pci-uclass.c | 28 | ||||
-rw-r--r-- | drivers/scsi/scsi.c | 47 |
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; } |