summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCindy H Kao <evans@localhost.localdomain>2009-08-18 19:27:18 -0700
committerInaky Perez-Gonzalez <inaky@linux.intel.com>2009-10-19 15:55:47 +0900
commit8d8fe198c6a756ae96617548af4776e7a86c0d3e (patch)
treea3ff223523a46a5d4efd3bdea705622a766601d4
parent77e1251a7cc64c1e483a31c41c139fdf8121e75e (diff)
downloadop-kernel-dev-8d8fe198c6a756ae96617548af4776e7a86c0d3e.zip
op-kernel-dev-8d8fe198c6a756ae96617548af4776e7a86c0d3e.tar.gz
wimax/i2400m: don't write to memory allocated by request_firmware()
In kernel 2.6.31, the firmware requested to ram could be marked with read only attribute, and we can't write any thing directly to the memory when setting up the last JUMP brh cmd. Changed so that the scratch buffer is used. Signed-off-by: Cindy H Kao <cindy.h.kao@intel.com> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
-rw-r--r--drivers/net/wimax/i2400m/fw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c
index 0018cdb..92d4d60 100644
--- a/drivers/net/wimax/i2400m/fw.c
+++ b/drivers/net/wimax/i2400m/fw.c
@@ -533,6 +533,10 @@ int i2400m_dnload_finalize(struct i2400m *i2400m,
struct i2400m_bootrom_header jump_ack;
d_printf(1, dev, "unsecure boot, jumping to 0x%08x\n",
le32_to_cpu(cmd->target_addr));
+ cmd_buf = i2400m->bm_cmd_buf;
+ memcpy(&cmd_buf->cmd, cmd, sizeof(*cmd));
+ cmd = &cmd_buf->cmd;
+ /* now cmd points to the actual bootrom_header in cmd_buf */
i2400m_brh_set_opcode(cmd, I2400M_BRH_JUMP);
cmd->data_size = 0;
ret = i2400m_bm_cmd(i2400m, cmd, sizeof(*cmd),
OpenPOWER on IntegriCloud