Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752074AbdGBVX4 (ORCPT ); Sun, 2 Jul 2017 17:23:56 -0400 Received: from mail-qk0-f181.google.com ([209.85.220.181]:33440 "EHLO mail-qk0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751894AbdGBVXz (ORCPT ); Sun, 2 Jul 2017 17:23:55 -0400 MIME-Version: 1.0 In-Reply-To: References: <1499005648-28914-1-git-send-email-janusz.lisiecki@gmail.com> <1499005648-28914-2-git-send-email-janusz.lisiecki@gmail.com> From: Luc Van Oostenryck Date: Sun, 2 Jul 2017 23:23:53 +0200 X-Google-Sender-Auth: 930tPt8nwxmZgZsfBxFY06HVjIw Message-ID: Subject: Re: [PATCH 1/1] staging: ks7010: Fix cast to restricted __le16 in ks_wlan_net.c To: Janusz Lisiecki Cc: Wolfram Sang , Greg Kroah-Hartman , Linux Driver Project Developer List , devel@driverdev.osuosl.org, open list Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1415 Lines: 36 On Sun, Jul 2, 2017 at 10:49 PM, Janusz Lisiecki wrote: > W dniu 2017-07-02 o 21:38, Luc Van Oostenryck pisze: > >> On Sun, Jul 2, 2017 at 4:27 PM, Janusz Lisiecki >> wrote: >>> >>> This patch fixes the following Sparse warnings in ks_wlan_net.c: >>> drivers/staging/ks7010/ks_wlan_net.c:1359:24: warning: cast to restricted >>> __le16 >>> Both sides of assignment are u16 so (as 'ap' is local_ap_t type and >>> 'capability' member, >>> have the same as local 'capabilities' type of u16) 'le16_to_cpu' is not >>> needed >> >> It could be that it's ap->capability's type that is wrong (not >> annotated with __le16). >> Isn't it? >> >> Is ap->capability supposed to hold a little-endian value or a native >> order value? >> >> -- Luc > > As I see in ks_hostif.c all assignments to link_ap_info_t->capability threat > this value as native order (i.e get_ap_information, get_current_ap). As this > is not a structure which comes from HW we can do the way you suggested. > Still, as all other places in code threats this as native order value I > decided to change only one place than many other around to fix Sparse > warning. Fine, but then please put this explanation in the commit message. In others words, be very clear that the change is because ap->capability is in native order and thus the conversion le16_to_cpu() is wrong and must be removed. -- Luc