aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorMintz Yuval <yuvalmin@broadcom.com>2012-02-14 21:10:27 -0500
committerDavid S. Miller <davem@davemloft.net>2012-02-15 15:30:49 -0500
commitafa13b4b94bc4b3247fa46dd8698c8dbfe1a615c (patch)
tree7b66cb56a7db3fcb8e0bd587a31cc17f8cff690d /drivers/net/ethernet
parent817a8aa8cfa1ebfb7bf27afb53ebb1ec3d49b564 (diff)
bnx2x: allocate memory dynamically in ethtool self-test.
From: Merav Sicron <meravs@broadcom.com> Current ethtool self tests usesa large buffer on stack. This patch replaces that array by dynamically allocated memory Signed-off-by: Merav Sicron <meravs@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
index 4cbd474ccecc..c18dc1d14a1d 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
@@ -2016,14 +2016,22 @@ static int bnx2x_test_nvram(struct bnx2x *bp)
2016 { 0x708, 0x70 }, /* manuf_key_info */ 2016 { 0x708, 0x70 }, /* manuf_key_info */
2017 { 0, 0 } 2017 { 0, 0 }
2018 }; 2018 };
2019 __be32 buf[0x350 / 4]; 2019 __be32 *buf;
2020 u8 *data = (u8 *)buf; 2020 u8 *data;
2021 int i, rc; 2021 int i, rc;
2022 u32 magic, crc; 2022 u32 magic, crc;
2023 2023
2024 if (BP_NOMCP(bp)) 2024 if (BP_NOMCP(bp))
2025 return 0; 2025 return 0;
2026 2026
2027 buf = kmalloc(0x350, GFP_KERNEL);
2028 if (!buf) {
2029 DP(NETIF_MSG_PROBE, "kmalloc failed\n");
2030 rc = -ENOMEM;
2031 goto test_nvram_exit;
2032 }
2033 data = (u8 *)buf;
2034
2027 rc = bnx2x_nvram_read(bp, 0, data, 4); 2035 rc = bnx2x_nvram_read(bp, 0, data, 4);
2028 if (rc) { 2036 if (rc) {
2029 DP(NETIF_MSG_PROBE, "magic value read (rc %d)\n", rc); 2037 DP(NETIF_MSG_PROBE, "magic value read (rc %d)\n", rc);
@@ -2057,6 +2065,7 @@ static int bnx2x_test_nvram(struct bnx2x *bp)
2057 } 2065 }
2058 2066
2059test_nvram_exit: 2067test_nvram_exit:
2068 kfree(buf);
2060 return rc; 2069 return rc;
2061} 2070}
2062 2071