Search Linux Wireless

RE: [patch] mwifiex: endian bug in mwifiex_drv_change_adhoc_chan()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dan,

Thanks for your patch.
It looks correct.


Hi John,

There is a conflict between this patch and a patch I submitted previously.

mwifiex: remove unnecessary struct mwifiex_802_11_ssid

If you are going to take my patch series (except for the one 6/6, NACKed by Johannes), either Dan or myself can rebase this patch.

I have ACKed Dan's patch under the s-o-b line below, in case you want to merge his patch first.

Thanks,
Bing

> Subject: [patch] mwifiex: endian bug in mwifiex_drv_change_adhoc_chan()
> 
> In mwifiex_drv_change_adhoc_chan() we pass channel to
> mwifiex_bss_ioctl_ibss_channel() which sets the high 16 bits.  This
> works on little endian systems but not on big endian ones.  I've changed
> mwifiex_drv_change_adhoc_chan() to use a 16 bit variable.  This matches
> the other functions in the file.
> 
> I considered changing mwifiex_change_adhoc_chan() as well but it turns
> out that the function isn't implemented so I just removed the
> definition.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Acked-by: Bing Zhao <bzhao@xxxxxxxxxxx>

> 
> diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
> index 52810b1..60a6919 100644
> --- a/drivers/net/wireless/mwifiex/main.h
> +++ b/drivers/net/wireless/mwifiex/main.h
> @@ -909,10 +909,9 @@ int mwifiex_request_scan(struct mwifiex_private *priv,
>  			 struct mwifiex_802_11_ssid *req_ssid);
>  int mwifiex_set_user_scan_ioctl(struct mwifiex_private *priv,
>  				struct mwifiex_user_scan_cfg *scan_req);
> -int mwifiex_change_adhoc_chan(struct mwifiex_private *priv, int channel);
>  int mwifiex_set_radio(struct mwifiex_private *priv, u8 option);
> 
> -int mwifiex_drv_change_adhoc_chan(struct mwifiex_private *priv, int channel);
> +int mwifiex_drv_change_adhoc_chan(struct mwifiex_private *priv, u16 channel);
> 
>  int mwifiex_set_encode(struct mwifiex_private *priv, const u8 *key,
>  		       int key_len, u8 key_index, int disable);
> diff --git a/drivers/net/wireless/mwifiex/sta_ioctl.c b/drivers/net/wireless/mwifiex/sta_ioctl.c
> index b0fbf5d..652d299 100644
> --- a/drivers/net/wireless/mwifiex/sta_ioctl.c
> +++ b/drivers/net/wireless/mwifiex/sta_ioctl.c
> @@ -599,7 +599,7 @@ static int mwifiex_bss_ioctl_ibss_channel(struct mwifiex_private *priv,
>   *          - Start/Join the IBSS
>   */
>  int
> -mwifiex_drv_change_adhoc_chan(struct mwifiex_private *priv, int channel)
> +mwifiex_drv_change_adhoc_chan(struct mwifiex_private *priv, u16 channel)
>  {
>  	int ret;
>  	struct mwifiex_bss_info bss_info;
> @@ -636,7 +636,7 @@ mwifiex_drv_change_adhoc_chan(struct mwifiex_private *priv, int channel)
>  	ret = mwifiex_deauthenticate(priv, ssid_bssid.bssid);
> 
>  	ret = mwifiex_bss_ioctl_ibss_channel(priv, HostCmd_ACT_GEN_SET,
> -					     (u16 *) &channel);
> +					     &channel);
> 
>  	/* Do specific SSID scanning */
>  	if (mwifiex_request_scan(priv, &bss_info.ssid)) {
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux