From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751124AbbDYWpX (ORCPT ); Sat, 25 Apr 2015 18:45:23 -0400 Received: from mail-qg0-f41.google.com ([209.85.192.41]:35270 "EHLO mail-qg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750883AbbDYWpV convert rfc822-to-8bit (ORCPT ); Sat, 25 Apr 2015 18:45:21 -0400 Message-ID: <553C18B6.807@gmail.com> Date: Sat, 25 Apr 2015 19:44:06 -0300 From: Gaston Gonzalez User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0 MIME-Version: 1.0 To: Dan Carpenter CC: gregkh@linuxfoundation.org, navyasri.tech@gmail.com, joe@perches.com, arnd@arndb.de, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] staging: rtl8192u: ieee80211: Silence sparse warning References: <1429476231-6197-1-git-send-email-gascoar@gmail.com> <20150420082441.GU10964@mwanda> In-Reply-To: <20150420082441.GU10964@mwanda> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 20/04/15 05:24, Dan Carpenter wrote: > Mk16_le() is a bad function name and as we can see from tkip.c it just > duplicates get_unaligned_le16(). Better to make TK void pointer instead > of a u8 pointer (because it doesn't point to u8s so we have to cast it > every time we use it). This is another trick I learned from tkip.c. Ok. Could I just remove Mk16_le() and use get_unaligned_le16() instead? I built rtl8192u/ using get_unaligned_le16() for the following lines and I didn't get any warning: +#include - PPK[0] += _S_(PPK[5] ^ Mk16_le((u16 *) &TK[0])); - PPK[0] += _S_(PPK[5] ^ Mk16_le((u16 *) &TK[0])); - PPK[1] += _S_(PPK[0] ^ Mk16_le((u16 *) &TK[2])); - PPK[2] += _S_(PPK[1] ^ Mk16_le((u16 *) &TK[4])); - PPK[3] += _S_(PPK[2] ^ Mk16_le((u16 *) &TK[6])); - PPK[4] += _S_(PPK[3] ^ Mk16_le((u16 *) &TK[8])); - PPK[5] += _S_(PPK[4] ^ Mk16_le((u16 *) &TK[10])); - - PPK[0] += RotR1(PPK[5] ^ Mk16_le((u16 *) &TK[12])); - PPK[1] += RotR1(PPK[0] ^ Mk16_le((u16 *) &TK[14])); + PPK[0] += _S_(PPK[5] ^ get_unaligned_le16(TK + 0)); + PPK[1] += _S_(PPK[0] ^ get_unaligned_le16(TK + 2)); + PPK[2] += _S_(PPK[1] ^ get_unaligned_le16(TK + 4)); + PPK[3] += _S_(PPK[2] ^ get_unaligned_le16(TK + 6)); + PPK[4] += _S_(PPK[3] ^ get_unaligned_le16(TK + 8)); + PPK[5] += _S_(PPK[4] ^ get_unaligned_le16(TK + 10)); + + PPK[0] += RotR1(PPK[5] ^ get_unaligned_le16(TK + 12)); + PPK[1] += RotR1(PPK[0] ^ get_unaligned_le16(TK + 14));