summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/sfc/mcdi_mac.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-09-14 17:31:33 +0100
committerBen Hutchings <bhutchings@solarflare.com>2013-08-21 16:35:26 +0100
commitc5bb0e9891ba1f7c871adc09d9ef727e1c0c1c1e (patch)
tree62bf62dbc591718aade11df087dbdb9bc3862b85 /drivers/net/ethernet/sfc/mcdi_mac.c
parentd0c2ee99e54c0fd76938236e863ad7d3992f044f (diff)
sfc: Use proper macros to declare and access MCDI arrays
A few functions are using heap buffers; change them to use stack buffers as we really don't need to resort to the heap for a 252 byte buffer in process context. MC_CMD_MEMCPY is quite weird in that it can use inline data placed in the request buffer after the array of records. Thus there are two variable-length arrays and we can't use the normal accessors for the second. So we have to use _MCDI_PTR() in efx_sriov_memcpy(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/mcdi_mac.c')
-rw-r--r--drivers/net/ethernet/sfc/mcdi_mac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/mcdi_mac.c b/drivers/net/ethernet/sfc/mcdi_mac.c
index fafdc8e292c5..cf16bf13b6f2 100644
--- a/drivers/net/ethernet/sfc/mcdi_mac.c
+++ b/drivers/net/ethernet/sfc/mcdi_mac.c
@@ -17,7 +17,7 @@ int efx_mcdi_set_mac(struct efx_nic *efx)
u32 reject, fcntl;
MCDI_DECLARE_BUF(cmdbytes, MC_CMD_SET_MAC_IN_LEN);
- memcpy(cmdbytes + MC_CMD_SET_MAC_IN_ADDR_OFST,
+ memcpy(MCDI_PTR(cmdbytes, SET_MAC_IN_ADDR),
efx->net_dev->dev_addr, ETH_ALEN);
MCDI_SET_DWORD(cmdbytes, SET_MAC_IN_MTU,