netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] iwlwifi:dvm:Return false if resume command data is not same size as received packet for the function iwl_resume_status_fn
       [not found] ` <1433954031-7176-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2015-06-10 16:50   ` Grumbach, Emmanuel
       [not found]     ` <D665C857-C846-422A-A3D9-A9314B000CD6@gmail.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Grumbach, Emmanuel @ 2015-06-10 16:50 UTC (permalink / raw)
  To: xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Spinadel, David, Coelho, Luciano,
	ilw-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	eliad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org, Berg, Johannes,
	kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

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@gmail.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;


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] iwlwifi:dvm:Return false if resume command data is not same size as received packet for the function iwl_resume_status_fn
       [not found]     ` <D665C857-C846-422A-A3D9-A9314B000CD6@gmail.com>
@ 2015-06-10 17:10       ` Grumbach, Emmanuel
  0 siblings, 0 replies; 2+ messages in thread
From: Grumbach, Emmanuel @ 2015-06-10 17:10 UTC (permalink / raw)
  To: xerofoify@gmail.com
  Cc: linux-kernel@vger.kernel.org, Spinadel, David,
	ilw@linux.intel.com, Coelho, Luciano, eliad@wizery.com,
	Berg, Johannes, kvalo@codeaurora.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org

On Wed, 2015-06-10 at 12:58 -0400, Nicholas Krause wrote:
> 
> On June 10, 2015 12:50:45 PM EDT, "Grumbach, Emmanuel" <emmanuel.grumbach@intel.com> wrote:
> >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?
> >
> Why not wait for the time out?  Seems there is no reason not to and in that case
> if the firmware handles this

I doubt it will. This goes back to my original question: did you really
hit this path? Does the patch solves a real bug you faced?

> why is the if statement still here. 

To get a debug print? :)

> Nick 
> >> Signed-off-by: Nicholas Krause <xerofoify@gmail.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;
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-06-10 17:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1433954031-7176-1-git-send-email-xerofoify@gmail.com>
     [not found] ` <1433954031-7176-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-10 16:50   ` [PATCH] iwlwifi:dvm:Return false if resume command data is not same size as received packet for the function iwl_resume_status_fn Grumbach, Emmanuel
     [not found]     ` <D665C857-C846-422A-A3D9-A9314B000CD6@gmail.com>
2015-06-10 17:10       ` Grumbach, Emmanuel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).