2015-10-20 08:11:04

by Tony Cho

[permalink] [raw]
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 <[email protected]>
---
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



2015-10-21 11:47:12

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: wilc1000: fix the bug on copying bssid

On Tue, Oct 20, 2015 at 05:10:46PM +0900, Tony Cho wrote:
> 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.
>

I forsaw this, but I should have been more explicit when I complained
about d79fd35b8c5d927695b48fa35aa586919818cce9...

regards,
dan carpenter