diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-01-09 04:37:59 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-16 08:18:56 -0500 |
commit | 01387ffd19f37b4026fd0e4c32260bc25f6469d4 (patch) | |
tree | 194681d0eb77facf9c74a463ecbb1d1dc054b4b0 /drivers/net/wireless/iwlwifi | |
parent | b1cf1bc160a94f2d56863522982160c9373b8860 (diff) |
iwlwifi: allow to zero SRAM
Sending a NULL pointer to iwl_trans_write_mem allows now
to zero SRAM.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/pcie/trans.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h index b0d5c715ca1e..55a140ade5a7 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans.h | |||
@@ -391,7 +391,8 @@ struct iwl_trans; | |||
391 | * @read_prph: read a DWORD from a periphery register | 391 | * @read_prph: read a DWORD from a periphery register |
392 | * @write_prph: write a DWORD to a periphery register | 392 | * @write_prph: write a DWORD to a periphery register |
393 | * @read_mem: read device's SRAM in DWORD | 393 | * @read_mem: read device's SRAM in DWORD |
394 | * @write_mem: write device's SRAM in DWORD | 394 | * @write_mem: write device's SRAM in DWORD. If %buf is %NULL, then the memory |
395 | * will be zeroed. | ||
395 | * @configure: configure parameters required by the transport layer from | 396 | * @configure: configure parameters required by the transport layer from |
396 | * the op_mode. May be called several times before start_fw, can't be | 397 | * the op_mode. May be called several times before start_fw, can't be |
397 | * called after that. | 398 | * called after that. |
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index 2de5770de64b..4028c03eff5f 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c | |||
@@ -815,7 +815,8 @@ static int iwl_trans_pcie_write_mem(struct iwl_trans *trans, u32 addr, | |||
815 | if (iwl_trans_grab_nic_access(trans, false)) { | 815 | if (iwl_trans_grab_nic_access(trans, false)) { |
816 | iwl_write32(trans, HBUS_TARG_MEM_WADDR, addr); | 816 | iwl_write32(trans, HBUS_TARG_MEM_WADDR, addr); |
817 | for (offs = 0; offs < dwords; offs++) | 817 | for (offs = 0; offs < dwords; offs++) |
818 | iwl_write32(trans, HBUS_TARG_MEM_WDAT, vals[offs]); | 818 | iwl_write32(trans, HBUS_TARG_MEM_WDAT, |
819 | vals ? vals[offs] : 0); | ||
819 | iwl_trans_release_nic_access(trans); | 820 | iwl_trans_release_nic_access(trans); |
820 | } else { | 821 | } else { |
821 | ret = -EBUSY; | 822 | ret = -EBUSY; |