2017-11-03 21:26:46

by Aditya Shankar

[permalink] [raw]
Subject: [PATCH] staging: wilc1000: Fix bssid buffer offset in Txq

Commit 46949b48568b ("staging: wilc1000: New cfg packet
format in handle_set_wfi_drv_handler") updated the frame
format sent from host to the firmware. The code to update
the bssid offset in the new frame was part of a second
patch in the series which did not make it in and thus
causes connection problems after associating to an AP.

This fix adds the proper offset of the bssid value in the
Tx queue buffer to fix the connection issues.

Fixes: Commit 46949b48568b ("staging: wilc1000: New cfg packet format in handle_set_wfi_drv_handler")
Cc: [email protected]
Signed-off-by: Aditya Shankar <[email protected]>
---
drivers/staging/wilc1000/wilc_wlan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
index 9addef1..f49dfa8 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -714,7 +714,7 @@ int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count)
char *bssid = ((struct tx_complete_data *)(tqe->priv))->bssid;

buffer_offset = ETH_ETHERNET_HDR_OFFSET;
- memcpy(&txb[offset + 4], bssid, 6);
+ memcpy(&txb[offset + 8], bssid, 6);
} else {
buffer_offset = HOST_HDR_OFFSET;
}
--
2.7.4


2017-11-16 10:52:52

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH] staging: wilc1000: Fix bssid buffer offset in Txq

Hi Aditya,

My problem is fixed with this patch. WILC1000 connects to AP,
IP is retrieved from DHCP server and ping works. You can add my

Tested-by: Claudiu Beznea <[email protected]>

Thanks,
Claudiu

On 03.11.2017 10:56, Aditya Shankar wrote:
> Commit 46949b48568b ("staging: wilc1000: New cfg packet
> format in handle_set_wfi_drv_handler") updated the frame
> format sent from host to the firmware. The code to update
> the bssid offset in the new frame was part of a second
> patch in the series which did not make it in and thus
> causes connection problems after associating to an AP.
>
> This fix adds the proper offset of the bssid value in the
> Tx queue buffer to fix the connection issues.
>
> Fixes: Commit 46949b48568b ("staging: wilc1000: New cfg packet format in handle_set_wfi_drv_handler")
> Cc: [email protected]
> Signed-off-by: Aditya Shankar <[email protected]>
> ---
> drivers/staging/wilc1000/wilc_wlan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
> index 9addef1..f49dfa8 100644
> --- a/drivers/staging/wilc1000/wilc_wlan.c
> +++ b/drivers/staging/wilc1000/wilc_wlan.c
> @@ -714,7 +714,7 @@ int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count)
> char *bssid = ((struct tx_complete_data *)(tqe->priv))->bssid;
>
> buffer_offset = ETH_ETHERNET_HDR_OFFSET;
> - memcpy(&txb[offset + 4], bssid, 6);
> + memcpy(&txb[offset + 8], bssid, 6);
> } else {
> buffer_offset = HOST_HDR_OFFSET;
> }
>

2017-11-04 06:20:32

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: wilc1000: Fix bssid buffer offset in Txq

This driver really needs proper structs and datatypes so this doesn't
happen again and so that you and Colin stop reverting each other's

*pu8CurrByte++ = ((strHostIfSetMulti->enabled >> 8) & 0xFF);

assignments:

regards,
dan carpenter