From c0f52fbac74e4ab17014c1625a651689a96896bb Mon Sep 17 00:00:00 2001 From: Tony Cho Date: Tue, 20 Oct 2015 17:10:46 +0900 Subject: [PATCH] staging: wilc1000: fix the bug on copying bssid 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 Signed-off-by: Greg Kroah-Hartman --- 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 646e7e919674..4c7e1e4adc7d 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))); -- 2.30.2