[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1433955045.20602.2.camel@intel.com>
Date: Wed, 10 Jun 2015 16:50:45 +0000
From: "Grumbach, Emmanuel" <emmanuel.grumbach@...el.com>
To: "xerofoify@...il.com" <xerofoify@...il.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Spinadel, David" <david.spinadel@...el.com>,
"Coelho, Luciano" <luciano.coelho@...el.com>,
"ilw@...ux.intel.com" <ilw@...ux.intel.com>,
"eliad@...ery.com" <eliad@...ery.com>,
"Berg, Johannes" <johannes.berg@...el.com>,
"kvalo@...eaurora.org" <kvalo@...eaurora.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>
Subject: Re: [PATCH] iwlwifi:dvm:Return false if resume command data is not
same size as received packet for the function iwl_resume_status_fn
On Wed, 2015-06-10 at 12:33 -0400, Nicholas Krause wrote:
> This makes the function iwl_resume_status_fn return false now if
> the received packet of type iwl_rx_packet is not the same size
> as the structure pointer, iwl_resume_data's cmd element in order
> to signal callers about this error and allow them to handle it
> occurrently.
>
Hm... Did you actually hit this if?
I am not sure I really want to wait here (which is what will happen if
you return false) when we get an unexpected length? I do not expect
anything besides the response I am waiting for since the firmware is
handling the GET_STATUS *only* - it just came back from WoWLAN. Bottom
line, this is really an error path and I prefer to exit and not wait for
the timeout in that case.
But I might be missing something?
> Signed-off-by: Nicholas Krause <xerofoify@...il.com>
> ---
> drivers/net/wireless/iwlwifi/dvm/mac80211.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/iwlwifi/dvm/mac80211.c b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
> index 5abd62e..21e808c 100644
> --- a/drivers/net/wireless/iwlwifi/dvm/mac80211.c
> +++ b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
> @@ -409,7 +409,7 @@ static bool iwl_resume_status_fn(struct iwl_notif_wait_data *notif_wait,
>
> if (iwl_rx_packet_payload_len(pkt) != sizeof(*resume_data->cmd)) {
> IWL_ERR(priv, "rx wrong size data\n");
> - return true;
> + return false;
> }
> memcpy(resume_data->cmd, pkt->data, sizeof(*resume_data->cmd));
> resume_data->valid = true;
Powered by blists - more mailing lists