staging: rtl8723bs: core: Fix incorrect type in assignment
PATCH v2 1/1 staging: rtl8723bs: core: Fix incorrect type in assignment
Fix sparse warnings: incorrect type in assignment (different base types).
Signed-off-by Fabio M. De Francesco <[email protected]>
---
v1 --> v2:
Fix incorrect indentation of the fields of a union. Problem detected by Greg Kroah-Hartman.
drivers/staging/rtl8723bs/core/rtw_security.c | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-)
drivers/staging/rtl8723bs/core/rtw_security.c +18 -13
@@ -35,8 +35,10 @@ const char *security_type_str(u8 value)*/ void rtw_wep_encrypt (struct adapter *padapter,u8 *pxmitframe) {/* exclude ICV */ - -unsigned char crc[4 ]; +union { +__le32 f0; +unsigned char f1[4 ]; + } crc;signed int curfragnum, length;u32 keylength;
@@ -69,18 +71,18 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; - *((__le32 *)crc) = ~crc32_le (~0 , payload, length); + crc.f0 =cpu_to_le32 (~crc32_le (~0 , payload, length));arc4_setkey (ctx, wepkey,3 + keylength);arc4_crypt (ctx, payload, payload, length); -arc4_crypt (ctx, payload + length, crc,4 ); +arc4_crypt (ctx, payload + length, crc.f1,4 ); }else { length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; - *((__le32 *)crc) = ~crc32_le (~0 , payload, length); + crc.f0 =cpu_to_le32 (~crc32_le (~0 , payload, length));arc4_setkey (ctx, wepkey,3 + keylength);arc4_crypt (ctx, payload, payload, length); -arc4_crypt (ctx, payload + length, crc,4 ); +arc4_crypt (ctx, payload + length, crc.f1,4 ); pframe += pxmitpriv->frag_len; pframe = (u8 *)round_up ((SIZE_PTR )(pframe),4 );
@@ -121,7 +123,7 @@ void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe)arc4_crypt (ctx, payload, payload, length);/* calculate icv and compare the icv */ - *((u32 *)crc) =le32_to_cpu (~crc32_le (~0 , payload, length -4 )); + *((u32 *)crc) = ~crc32_le (~0 , payload, length -4 ); } }
@@ -464,7 +466,10 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)u32 pnh;u8 rc4key[16 ];u8 ttkey[16 ]; -u8 crc[4 ]; +union { +__le32 f0; +u8 f1[4 ]; + } crc;u8 hw_hdr_offset =0 ;signed int curfragnum, length;
@@ -506,19 +511,19 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)if ((curfragnum+1 ) == pattrib->nr_frags) {/* 4 the last fragment */ length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; - *((__le32 *)crc) = ~crc32_le (~0 , payload, length); + crc.f0 =cpu_to_le32 (~crc32_le (~0 , payload, length));arc4_setkey (ctx, rc4key,16 );arc4_crypt (ctx, payload, payload, length); -arc4_crypt (ctx, payload + length, crc,4 ); +arc4_crypt (ctx, payload + length, crc.f1,4 ); }else { length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; - *((__le32 *)crc) = ~crc32_le (~0 , payload, length); + crc.f0 =cpu_to_le32 (~crc32_le (~0 , payload, length));arc4_setkey (ctx, rc4key,16 );arc4_crypt (ctx, payload, payload, length); -arc4_crypt (ctx, payload + length, crc,4 ); +arc4_crypt (ctx, payload + length, crc.f1,4 ); pframe += pxmitpriv->frag_len; pframe = (u8 *)round_up ((SIZE_PTR )(pframe),4 );
@@ -618,7 +623,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)arc4_setkey (ctx, rc4key,16 );arc4_crypt (ctx, payload, payload, length); - *((u32 *)crc) =le32_to_cpu (~crc32_le (~0 , payload, length -4 )); + *((u32 *)crc) = ~crc32_le (~0 , payload, length -4 );if (crc[3 ] != payload[length -1 ] || crc[2 ] != payload[length -2 ] || crc[1 ] != payload[length -3 ] || crc[0 ] != payload[length -4 ])
Signature · 1 line
2.32.0