From: Tony Cho Date: Tue, 20 Oct 2015 08:10:46 +0000 (+0900) Subject: staging: wilc1000: fix the bug on copying bssid X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=c0f52fbac74e4ab17014c1625a651689a96896bb;p=deliverable%2Flinux.git 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 --- 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)));