X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fraw%2Fifpga_rawdev%2Fifpga_rawdev.c;h=fef89e6bc55b9a4909dd638aa153ba2e79d4f3e8;hb=c60891f54da3150c20d5c0d4f60d6b1a2d966c4d;hp=41be1a205cfba99f244e510ae0b80529925a40d6;hpb=194a83d837472a27030e55af95b1103c90c2c63a;p=dpdk.git diff --git a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c index 41be1a205c..fef89e6bc5 100644 --- a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c +++ b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c @@ -225,7 +225,7 @@ ifpga_rawdev_reset(struct rte_rawdev *dev) } static int -fpga_pr(struct rte_rawdev *raw_dev, u32 port_id, u64 *buffer, u32 size, +fpga_pr(struct rte_rawdev *raw_dev, u32 port_id, const char *buffer, u32 size, u64 *status) { @@ -296,6 +296,11 @@ rte_fpga_do_pr(struct rte_rawdev *rawdev, int port_id, goto close_fd; } buffer_size = file_stat.st_size; + if (buffer_size <= 0) { + ret = -EINVAL; + goto close_fd; + } + IFPGA_RAWDEV_PMD_INFO("bitstream file size: %zu\n", buffer_size); buffer = rte_malloc(NULL, buffer_size, 0); if (!buffer) { @@ -494,8 +499,8 @@ ifpga_rawdev_get_attr(struct rte_rawdev *dev, if (!strcmp(attr_name, "LineSideLinkPortNum")) { if (opae_manager_get_retimer_info(mgr, &opae_rtm_info)) return -1; - uint64_t tmp = opae_rtm_info.ports_per_retimer * - opae_rtm_info.nums_retimer; + uint64_t tmp = (uint64_t)opae_rtm_info.ports_per_retimer * + (uint64_t)opae_rtm_info.nums_retimer; *attr_value = tmp; return 0; } @@ -547,8 +552,8 @@ ifpga_rawdev_get_attr(struct rte_rawdev *dev, if (!strcmp(attr_name, "NICSideLinkPortNum")) { if (opae_manager_get_retimer_info(mgr, &opae_rtm_info)) return -1; - uint64_t tmp = opae_rtm_info.nums_fvl * - opae_rtm_info.ports_per_fvl; + uint64_t tmp = (uint64_t)opae_rtm_info.nums_fvl * + (uint64_t)opae_rtm_info.ports_per_fvl; *attr_value = tmp; return 0; }