[PATCH] staging: wilc1000: fix the bug on copying bssid

Tony Cho tony.cho at atmel.com
Tue Oct 20 08:10:46 UTC 2015


This patch reverts the commit, d79fd35b8c5d927695b48fa35aa586919818cce9.

The WID_JOIN_REQ_EXTENDED among WIDs needs two parameters for the request to
be sent to the firmware, which are the SA and the BSSID. For this case, both
is the same bssid in the handle_connect function. So, it's required to be
copied twice.

Signed-off-by: Tony Cho <tony.cho at atmel.com>
---
 drivers/staging/wilc1000/host_interface.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 646e7e9..4c7e1e4 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1127,6 +1127,10 @@ static s32 Handle_Connect(struct host_if_drv *hif_drv,
 		memcpy(pu8CurrByte, pstrHostIFconnectAttr->bssid, 6);
 	pu8CurrByte += 6;
 
+	if (pstrHostIFconnectAttr->bssid)
+		memcpy(pu8CurrByte, pstrHostIFconnectAttr->bssid, 6);
+	pu8CurrByte += 6;
+
 	*(pu8CurrByte++)  = (ptstrJoinBssParam->beacon_period) & 0xFF;
 	*(pu8CurrByte++)  = ((ptstrJoinBssParam->beacon_period) >> 8) & 0xFF;
 	PRINT_D(HOSTINF_DBG, "* Beacon Period %d*\n", (*(pu8CurrByte - 2) | ((*(pu8CurrByte - 1)) << 8)));
-- 
1.9.1



More information about the devel mailing list