Search Linux Wireless

Re: zd1211rw (2.6.26 sparc64): unaligned access (zd_mac_rx)

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

 



* Michael Buesch | 2008-10-25 13:31:24 [+0200]:

>On Saturday 25 October 2008 13:28:13 Sebastian Andrzej Siewior wrote:
>> @@ -662,7 +663,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length)
>>  			&& !mac->pass_ctrl)
>>  		return 0;
>>  
>> -	fc = *(__le16 *)buffer;
>> +	fc = get_unaligned_le16(buffer);
>
>This still does semantically change the code.
>fc is supposed to be LE and is used as LE in the following code.
So you say we need a get_unaligned() here. Okay. 
A few lines before that, in filter_ack() we dereferance the same
position. filter_ack() is used once and probably inlined so I guess
that's the address where the unaligned access occurs.

>>  	need_padding = ieee80211_is_data_qos(fc) ^ ieee80211_has_a4(fc);
>>  
>>  	skb = dev_alloc_skb(length + (need_padding ? 2 : 0));



>-- 
>Greetings Michael.

Sebastian
--
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