staging: wilc1000: fix the bug on copying bssid
authorTony Cho <tony.cho@atmel.com>
Tue, 20 Oct 2015 08:10:46 +0000 (17:10 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 25 Oct 2015 01:15:40 +0000 (18:15 -0700)
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@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/host_interface.c

index 646e7e91967456487f13c1010c0529e613d12db0..4c7e1e4adc7d7ba2d3870c9f68a08a70ab25dcaa 100644 (file)
@@ -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)));