Received: by 2002:a05:7412:bbc7:b0:fc:a2b0:25d7 with SMTP id kh7csp1415748rdb; Sat, 3 Feb 2024 05:35:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IFhboOp+BBFvT3cXKkTjfqM/bviu8xyDUBD+kveEUtIUqFqeakBZTJzbdoNE9xQ81MRsbua X-Received: by 2002:a0c:a99a:0:b0:68c:8793:35bc with SMTP id a26-20020a0ca99a000000b0068c879335bcmr1313583qvb.28.1706967343081; Sat, 03 Feb 2024 05:35:43 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706967343; cv=pass; d=google.com; s=arc-20160816; b=njaUeuhB8fW2dlEN3qpQEF6b20VajWNAxtmpytN6yQ8EBdSjm8sfkegAK70b2pY/Ri j6tdoog3WgIDCuhMyzPrhvBJnd4al2NgZ358jWUh8l46+MBaX3Epy7NJkcNQfHQQTBZb FOmbTkCWZSk+7lDofChXFf2TicrRTteNclljyncII+JbjYV9/2cp3bE80lt3Ltd3p2SP 6DZOw091Ic230C9BZ/ySZy5/oKa+uj8nF+JN/wEubqFFdQME06kcWMQGZltStRsw4ibM mzCahpDPm7Rcs570NdbxyH00Gh9Xa2urRY3CabIsPpZ6JGt9TFAtU7Vwy9xkHSxd7J/F PkMA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=QxxHIImV3MCE9vd+VshaUVCrAULAaVrobwEDQL3IfCQ=; fh=hYdecN8iP+ZPnO2FAJdZvZSMU0qVRJ2QIEj2uc22Hho=; b=HJsWOPDSLkx3eCMfGWIcUMHwssTfWYmXRYmxMGK/iGV+vDAvHTLwL+ZTPyfFfcAzBY /wMlk9J9ojtA2SzVnTnjunWX4q53CMUDLgqFqIEZTNsNvti4X6z4bjzOcqH6hTBYHMoO 3nuiMcSS3a3DA+bVFSGCV5wvt8VZaJ1u0a+6oNbQ410pYdDNcxDDjcDh2iUdX4zCFLVG cdOzZrUL2hFXkBzKOCdd3nSnzS+7wggnuI6DvwyqxE55EZvl98fXfzmlpI1pg8J6irbh HdmYbu4+PKknAQsIdDfXorkK2ZaeAj1mL0PLlNAUpOVE7bVh6K7SDrjjpoBDQBS67dkk eYVg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass (test mode) header.i=@wp.pl header.s=1024a header.b=Bz8SWK9R; arc=pass (i=1 spf=pass spfdomain=wp.pl dkim=pass dkdomain=wp.pl dmarc=pass fromdomain=wp.pl); spf=pass (google.com: domain of linux-wireless+bounces-3079-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-3079-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wp.pl X-Forwarded-Encrypted: i=1; AJvYcCUk9T6CXpFy4HQTy60ISLwNBAzxXZxd0t8zyTYq7unbgA9VqTKK+GOYsWKcyw2+veav0V6FDuYpWVPGHSQabvsX8x7Ttq4QCqpeMfePFQ== Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id j10-20020a0cc34a000000b0068c398be522si4236573qvi.64.2024.02.03.05.35.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 05:35:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-3079-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@wp.pl header.s=1024a header.b=Bz8SWK9R; arc=pass (i=1 spf=pass spfdomain=wp.pl dkim=pass dkdomain=wp.pl dmarc=pass fromdomain=wp.pl); spf=pass (google.com: domain of linux-wireless+bounces-3079-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-3079-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wp.pl Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id D03241C21145 for ; Sat, 3 Feb 2024 13:35:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 46C5F4F20D; Sat, 3 Feb 2024 13:35:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=wp.pl header.i=@wp.pl header.b="Bz8SWK9R" X-Original-To: linux-wireless@vger.kernel.org Received: from mx4.wp.pl (mx4.wp.pl [212.77.101.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2467B433D5 for ; Sat, 3 Feb 2024 13:35:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.77.101.11 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706967334; cv=none; b=saVqPjgsxCMbvNlplbCdobJSDM1s6GuV2z4xv6GbwfyE2V9JpvNSHV6HYzX7ydUI3hb2wA3R0F8vpSN0Tr8lL7KIvFiKiTdyd9YWLni3vjlZm/UUK9TnlOJQU5/v0R5UaQ/wwqvGqNxPM1Qe+IGmO8lYjfqIrlkUnXcAtUJKgAk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706967334; c=relaxed/simple; bh=YJOtvJIYPQd5XtTnmTH8r8R7gRj6X3xFO/v+A/D2rMQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=bem/EAnZznWtrZ51TyAS6BfB7NU1UGEMyrHeQvtXo+8r33EsEVfW/Vt5so3DsCJVeHENp9klK9dldbfYQ2oUl7FqxhYIlgDwcPCyt7I7AIb0VrSL5b17YMDJ+EEdgzYj3WIg4WDtW/ukHUkn3y68Yo1eaIWZNFfxFVI3eXl1Pw8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=wp.pl; spf=pass smtp.mailfrom=wp.pl; dkim=pass (1024-bit key) header.d=wp.pl header.i=@wp.pl header.b=Bz8SWK9R; arc=none smtp.client-ip=212.77.101.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=wp.pl Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wp.pl Received: (wp-smtpd smtp.wp.pl 25515 invoked from network); 3 Feb 2024 13:35:29 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wp.pl; s=1024a; t=1706963729; bh=QxxHIImV3MCE9vd+VshaUVCrAULAaVrobwEDQL3IfCQ=; h=From:To:Cc:Subject; b=Bz8SWK9RnnDHmgp+IxCWREb7z7VmAqKooQhz1VeDsGBWW8vtpqqop2d8UvNK7fppn IIBz6dYfiFdxqsDsYd487VArRi0IC7o+vll+eUmlLIYsmKxsq5wG+WZvXjM8Mn9+J2 yMkUlA4utp51JSKt3KG13EBx3en4duGA55m54pAk= Received: from 89-64-3-131.dynamic.chello.pl (HELO localhost) (stf_xl@wp.pl@[89.64.3.131]) (envelope-sender ) by smtp.wp.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 3 Feb 2024 13:35:29 +0100 Date: Sat, 3 Feb 2024 13:35:28 +0100 From: Stanislaw Gruszka To: Kalle Valo Cc: linux-wireless@vger.kernel.org Subject: Re: [PATCH 4/4] wifi: rt2x00: fix __le32 sparse warnings Message-ID: <20240203123528.GA170353@wp.pl> References: <20240130151556.2315951-1-kvalo@kernel.org> <20240130151556.2315951-5-kvalo@kernel.org> <87il3aaqoz.fsf@kernel.org> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87il3aaqoz.fsf@kernel.org> X-WP-MailID: bd8e06ece1c5ddc73ba64b1554e50a1b X-WP-AV: skaner antywirusowy Poczty Wirtualnej Polski X-WP-SPAM: NO 0000000 [QeME] Hi Kalle On Wed, Jan 31, 2024 at 09:48:44AM +0200, Kalle Valo wrote: > Kalle Valo writes: > > > Sparse warns: > > > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10949:39: warning: incorrect type in assignment (different base types) > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10949:39: expected unsigned int [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10949:39: got restricted __le32 [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10951:43: warning: incorrect type in assignment (different base types) > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10951:43: expected unsigned int [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10951:43: got restricted __le32 [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10953:43: warning: incorrect type in assignment (different base types) > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10953:43: expected unsigned int [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10953:43: got restricted __le32 [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10955:43: warning: incorrect type in assignment (different base types) > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10955:43: expected unsigned int [usertype] > > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:10955:43: got restricted __le32 [usertype] > > > > rt2x00 does some wicked casting here so no wonder sparse warns. Clean that up > > and use cpu_to_le16() to avoid any warnings. > > > > Compile tested only. > > > > Signed-off-by: Kalle Valo > > Stanislaw, sorry somehow I corrupted your address but fixed it now. Let > me know what you think, patch here: > > https://patchwork.kernel.org/project/linux-wireless/patch/20240130151556.2315951-5-kvalo@kernel.org/ If I analyse it correctly, patch is not ok on Big Endian machines where we do bytes swapping. Let asume reg value is 0x0D0C0B0A On previous code: - *(u32 *)&rt2x00dev->eeprom[i] = cpu_to_le32(reg); result is eeprom[0] = 0x0D eeprom[1] = 0x0C eeprom[2] = 0x0B eeprom[3] = 0x0A After modification: + rt2x00dev->eeprom[i] = cpu_to_le16(reg); + rt2x00dev->eeprom[i + 1] = cpu_to_le16(upper_16_bits(reg)); result will be eeprom[0] = 0x0B eeprom[1] = 0x0A eeprom[2] = 0x0D eeprom[2] = 0x0C Maybe just casting to __le32, i.e: *(__le32 *)&rt2x00dev->eeprom[i] = cpu_to_le32(reg); would solve the problem ? Regards Stanislaw