aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/mcdi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-01-25 21:57:07 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-25 21:57:07 -0500
commite2197787efe54c0dcbdc4f6acb6dabb65f27f347 (patch)
treefb9bbf08293f0f43954f128708e6422f1d21a404 /drivers/net/sfc/mcdi.c
parent4f4e65d2484811210a2826fa9d59712c7fcf1b49 (diff)
parent39d321577405e8e269fd238b278aaf2425fa788a (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits) virtio_net: Make delayed refill more reliable sfc: Use fixed-size buffers for MCDI NVRAM requests sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer tcp_probe: avoid modulus operation and wrap fix qlge: Only free resources if they were allocated netns xfrm: deal with dst entries in netns sky2: revert config space change vlan: fix vlan_skb_recv() netns xfrm: fix "ip xfrm state|policy count" misreport sky2: Enable/disable WOL per hardware device net: Fix IPv6 GSO type checks in Intel ethernet drivers igb/igbvf: cleanup exception handling in tx_map_adv MAINTAINERS: Add Intel igbvf maintainer e1000/e1000e: don't use small hardware rx buffers fmvj18x_cs: add new id (Panasonic lan & modem card) be2net: swap only first 2 fields of mcc_wrb Please add support for Microsoft MN-120 PCMCIA network card be2net: fix bug in rx page posting wimax/i2400m: Add support for more i6x50 SKUs e1000e: enhance frame fragment detection ...
Diffstat (limited to 'drivers/net/sfc/mcdi.c')
-rw-r--r--drivers/net/sfc/mcdi.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/sfc/mcdi.c b/drivers/net/sfc/mcdi.c
index 0d4eba7266ec..9f035b9f0350 100644
--- a/drivers/net/sfc/mcdi.c
+++ b/drivers/net/sfc/mcdi.c
@@ -804,7 +804,7 @@ int efx_mcdi_nvram_read(struct efx_nic *efx, unsigned int type,
804 loff_t offset, u8 *buffer, size_t length) 804 loff_t offset, u8 *buffer, size_t length)
805{ 805{
806 u8 inbuf[MC_CMD_NVRAM_READ_IN_LEN]; 806 u8 inbuf[MC_CMD_NVRAM_READ_IN_LEN];
807 u8 outbuf[MC_CMD_NVRAM_READ_OUT_LEN(length)]; 807 u8 outbuf[MC_CMD_NVRAM_READ_OUT_LEN(EFX_MCDI_NVRAM_LEN_MAX)];
808 size_t outlen; 808 size_t outlen;
809 int rc; 809 int rc;
810 810
@@ -828,7 +828,7 @@ fail:
828int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type, 828int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type,
829 loff_t offset, const u8 *buffer, size_t length) 829 loff_t offset, const u8 *buffer, size_t length)
830{ 830{
831 u8 inbuf[MC_CMD_NVRAM_WRITE_IN_LEN(length)]; 831 u8 inbuf[MC_CMD_NVRAM_WRITE_IN_LEN(EFX_MCDI_NVRAM_LEN_MAX)];
832 int rc; 832 int rc;
833 833
834 MCDI_SET_DWORD(inbuf, NVRAM_WRITE_IN_TYPE, type); 834 MCDI_SET_DWORD(inbuf, NVRAM_WRITE_IN_TYPE, type);
@@ -838,7 +838,8 @@ int efx_mcdi_nvram_write(struct efx_nic *efx, unsigned int type,
838 838
839 BUILD_BUG_ON(MC_CMD_NVRAM_WRITE_OUT_LEN != 0); 839 BUILD_BUG_ON(MC_CMD_NVRAM_WRITE_OUT_LEN != 0);
840 840
841 rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_WRITE, inbuf, sizeof(inbuf), 841 rc = efx_mcdi_rpc(efx, MC_CMD_NVRAM_WRITE, inbuf,
842 ALIGN(MC_CMD_NVRAM_WRITE_IN_LEN(length), 4),
842 NULL, 0, NULL); 843 NULL, 0, NULL);
843 if (rc) 844 if (rc)
844 goto fail; 845 goto fail;