Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
New upstream version 17.11.5
[deb_dpdk.git]
/
drivers
/
net
/
sfc
/
base
/
mcdi_mon.c
diff --git
a/drivers/net/sfc/base/mcdi_mon.c
b/drivers/net/sfc/base/mcdi_mon.c
index
c5360c3
..
8fb4113
100644
(file)
--- a/
drivers/net/sfc/base/mcdi_mon.c
+++ b/
drivers/net/sfc/base/mcdi_mon.c
@@
-30,6
+30,7
@@
#include "efx.h"
#include "efx_impl.h"
#include "efx.h"
#include "efx_impl.h"
+#include "mcdi_mon.h"
#if EFSYS_OPT_MON_MCDI
#if EFSYS_OPT_MON_MCDI
@@
-314,9
+315,15
@@
efx_mcdi_read_sensors(
__in uint32_t size)
{
efx_mcdi_req_t req;
__in uint32_t size)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_READ_SENSORS_EXT_IN_LEN,
-
MC_CMD_READ_SENSORS_EXT_OUT_LEN)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_READ_SENSORS_EXT_IN_LEN,
+
MC_CMD_READ_SENSORS_EXT_OUT_LEN)
;
uint32_t addr_lo, addr_hi;
uint32_t addr_lo, addr_hi;
+ efx_rc_t rc;
+
+ if (EFSYS_MEM_SIZE(esmp) < size) {
+ rc = EINVAL;
+ goto fail1;
+ }
req.emr_cmd = MC_CMD_READ_SENSORS;
req.emr_in_buf = payload;
req.emr_cmd = MC_CMD_READ_SENSORS;
req.emr_in_buf = payload;
@@
-334,6
+341,11
@@
efx_mcdi_read_sensors(
efx_mcdi_execute(enp, &req);
return (req.emr_rc);
efx_mcdi_execute(enp, &req);
return (req.emr_rc);
+
+fail1:
+ EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+ return (rc);
}
static __checkReturn efx_rc_t
}
static __checkReturn efx_rc_t
@@
-342,8
+354,8
@@
efx_mcdi_sensor_info_npages(
__out uint32_t *npagesp)
{
efx_mcdi_req_t req;
__out uint32_t *npagesp)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_SENSOR_INFO_EXT_IN_LEN,
-
MC_CMD_SENSOR_INFO_OUT_LENMAX)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_SENSOR_INFO_EXT_IN_LEN,
+
MC_CMD_SENSOR_INFO_OUT_LENMAX)
;
int page;
efx_rc_t rc;
int page;
efx_rc_t rc;
@@
-386,8
+398,8
@@
efx_mcdi_sensor_info(
__in size_t npages)
{
efx_mcdi_req_t req;
__in size_t npages)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_SENSOR_INFO_EXT_IN_LEN,
-
MC_CMD_SENSOR_INFO_OUT_LENMAX)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_SENSOR_INFO_EXT_IN_LEN,
+
MC_CMD_SENSOR_INFO_OUT_LENMAX)
;
uint32_t page;
efx_rc_t rc;
uint32_t page;
efx_rc_t rc;