Search Linux Wireless

Re: [PATCH] rtlwifi: rtl8192c: Add init codes for "fw_version" and "fw_subversion".

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/06/2015 06:02 AM, Taehee Yoo wrote:
The variable "fw_version" is used in the _ResetDigitalProcedure1().
but It is not initialized. so I add init codes for "fw_version" and
"fw_subversion".

Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx>
---
  drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
index 29983bc..9b5ce28 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c
@@ -233,6 +233,8 @@ int rtl92c_download_fw(struct ieee80211_hw *hw)
  	pfwheader = (struct rtl92c_firmware_header *)rtlhal->pfirmware;
  	pfwdata = (u8 *)rtlhal->pfirmware;
  	fwsize = rtlhal->fwsize;
+	rtlhal->fw_version = pfwheader->version;
+	rtlhal->fw_subversion = pfwheader->subversion;

  	if (IS_FW_HEADER_EXIST(pfwheader)) {
  		RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG,

This patch is not correct. If the firmware does not have a header, then you will be changing fw_version and fw_subversion to random bytes from the body of the firmware. At present, they are initialized to zero as part of the rtl_priv struct. You need to move the two new statements inside the IS_FW_HEADER_EXIST test, but before pfwdata is adjusted to remove the header.

Larry


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux