Search Linux Wireless

Re: [PATCH 13/14] rtlwifi: rtl8192cu: Add routine trx

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

 



On Thu, Feb 17, 2011 at 03:19:05PM -0600, Larry Finger wrote:
> +static enum rtl_desc_qsel _rtl8192cu_mq_to_descq(struct ieee80211_hw *hw,
> +					 u16 fc, u16 mac80211_queue_index)
> +{
> +	enum rtl_desc_qsel qsel;
> +	struct rtl_priv *rtlpriv = rtl_priv(hw);
> +
> +	if (unlikely(ieee80211_is_beacon(fc))) {
> +		qsel = QSLT_BEACON;
> +		goto out;
> +	}
> +	if (ieee80211_is_mgmt(fc)) {
[snip]
> +	u16 fc = le16_to_cpu(hdr->frame_control);
> +	enum rtl_desc_qsel fw_qsel = _rtl8192cu_mq_to_descq(hw, fc,
 
We have that bug on all over the code, ieee80211_is_* expect le16 value
whereas we pass cpu endian value. Driver is completely broken on that
respect, it will not work on big endian machines.

What should be done is use "sparse" (i.e. make C=1) and fix all
endian bugs. That will not assure driver will work on BE machines,
but at least we will fix obvious bugs.

Stanislaw
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux