All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Kalle Valo <kvalo@qca.qualcomm.com>
Cc: "Luis R. Rodriguez" <rodrigue@qca.qualcomm.com>,
	linville@tuxdriver.com, linux-wireless@vger.kernel.org
Subject: Re: [PATCH 1/6] ath6kl: fix sparse warning on init.c
Date: Tue, 20 Dec 2011 17:41:48 -0800	[thread overview]
Message-ID: <1324431708.11292.13.camel@joe2Laptop> (raw)
In-Reply-To: <4EF0E4A3.9010306@qca.qualcomm.com>

On Tue, 2011-12-20 at 21:40 +0200, Kalle Valo wrote:
> On 12/20/2011 08:46 PM, Luis R. Rodriguez wrote:
> > From: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
> > This fixes this sparse warning:
> >   CC [M]  drivers/net/wireless/ath/ath6kl/init.o
> > drivers/net/wireless/ath/ath6kl/init.c: In function ‘ath6kl_init_hw_params’:
> > drivers/net/wireless/ath/ath6kl/init.c:1377:26: warning: ‘hw’ may be used uninitialized in this function
> That's a compiler warning.
[]
> I can't see how hw can be uninitialised here (looking at the version in
> ath6kl.git). I copy the full code here:
> static int ath6kl_init_hw_params(struct ath6kl *ar)
> {
> 	const struct ath6kl_hw *hw;
> 	int i;
> 
> 	for (i = 0; i < ARRAY_SIZE(hw_list); i++) {
> 		hw = &hw_list[i];
> 
> 		if (hw->id == ar->version.target_ver)
> 			break;
> 	}
> 
> 	if (i == ARRAY_SIZE(hw_list)) {
> 		ath6kl_err("Unsupported hardware version: 0x%x\n",
> 			   ar->version.target_ver);
> 		return -EINVAL;
> 	}
> 
> 	ar->hw = *hw;
> 
> I always check for both compiler and sparse warnings and I have never
> seen this. What version of compiler do you have?

Is the intent here really to allow multiple ids
in the list and match the last one?

If not, perhaps something like this is simpler?

static int ath6kl_init_hw_params(struct ath6kl *ar)
{
	int i;
	const struct ath6kl_hw *hw = hw_list;

	for (i = 0; i < ARRAY_SIZE(hw_list); i++) {
		if (hw->id == ar->version.target_ver) {
			ar->hw = *hw;

			ath6kl_dbg(ATH6KL_DBG_BOOT,
				   "target_ver 0x%x target_type 0x%x dataset_patch 0x%x app_load_addr 0x%x\n",
				   ar->version.target_ver, ar->target_type,
				   ar->hw.dataset_patch_addr,
				   ar->hw.app_load_addr);
			ath6kl_dbg(ATH6KL_DBG_BOOT,
				   "app_start_override_addr 0x%x board_ext_data_addr 0x%x reserved_ram_size 0x%x\n",
				   ar->hw.app_start_override_addr,
				   ar->hw.board_ext_data_addr,
				   ar->hw.reserved_ram_size);
			ath6kl_dbg(ATH6KL_DBG_BOOT,
				   "refclk_hz %d uarttx_pin %d\n",
				   ar->hw.refclk_hz, ar->hw.uarttx_pin);

			return 0;
		}
		hw++;
	}

	ath6kl_err("Unsupported hardware version: 0x%x\n",
		   ar->version.target_ver);
	return -EINVAL;
}

btw: there are missing terminating newlines in the
current ath6kl_dbg uses in this routine.


  parent reply	other threads:[~2011-12-21  1:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-20 18:46 [PATCH 0/6] atheros-wireless: fix sparse warnings ho ho ho Luis R. Rodriguez
2011-12-20 18:46 ` [PATCH 1/6] ath6kl: fix sparse warning on init.c Luis R. Rodriguez
2011-12-20 18:49   ` Luis R. Rodriguez
2011-12-20 19:40   ` Kalle Valo
2011-12-20 19:46     ` Luis R. Rodriguez
2011-12-20 20:02       ` Kalle Valo
2011-12-21  1:41     ` Joe Perches [this message]
2011-12-21  1:42     ` Joe Perches
2011-12-23  8:27       ` Kalle Valo
2011-12-20 18:46 ` [PATCH 2/6] ath9k: make ath_mci_duty_cycle static Luis R. Rodriguez
2011-12-21  4:41   ` Joe Perches
2011-12-21 17:26     ` Luis R. Rodriguez
2011-12-20 18:46 ` [PATCH 3/6] ath9k_hw: fix sparse warnings on ar9003_rtt.c Luis R. Rodriguez
2011-12-20 18:46 ` [PATCH 4/6] ath9k: fix tx queue sparse complaint Luis R. Rodriguez
2011-12-20 18:46 ` [PATCH 5/6] ath5k: avoid sparse warnings on tracing Luis R. Rodriguez
2011-12-21 15:15   ` Johannes Berg
2011-12-21 16:04     ` Luis R. Rodriguez
2011-12-20 18:46 ` [PATCH 6/6] ath9k_hw: fix sparse complaint on ar9003_switch_com_spdt_get() Luis R. Rodriguez
2011-12-20 19:01 ` [PATCH 0/6] atheros-wireless: fix sparse warnings ho ho ho Larry Finger
2011-12-20 19:12   ` Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1324431708.11292.13.camel@joe2Laptop \
    --to=joe@perches.com \
    --cc=kvalo@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=rodrigue@qca.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.