Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] rt2x00: fix usage of NULL queue
@ 2011-08-02 11:29 Stanislaw Gruszka
  2011-08-02 11:33 ` Ivo Van Doorn
  2011-08-02 11:46 ` Gertjan van Wingerde
  0 siblings, 2 replies; 3+ messages in thread
From: Stanislaw Gruszka @ 2011-08-02 11:29 UTC (permalink / raw)
  To: John W. Linville
  Cc: Ivo van Doorn, Gertjan van Wingerde, Helmut Schaa, linux-wireless

We may call rt2x00queue_pause_queue(queue) with queue == NULL. Bug
was introduced by commit 62fe778412b36791b7897cfa139342906fbbf07b
"rt2x00: Fix stuck queue in tx failure case" .

Cc: stable@kernel.org # 3.0+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/rt2x00/rt2x00mac.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index 8efab39..4ccf238 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -113,7 +113,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
 	 * due to possible race conditions in mac80211.
 	 */
 	if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
-		goto exit_fail;
+		goto exit_free_skb;
 
 	/*
 	 * Use the ATIM queue if appropriate and present.
@@ -127,7 +127,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
 		ERROR(rt2x00dev,
 		      "Attempt to send packet over invalid queue %d.\n"
 		      "Please file bug report to %s.\n", qid, DRV_PROJECT);
-		goto exit_fail;
+		goto exit_free_skb;
 	}
 
 	/*
@@ -159,6 +159,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
 
  exit_fail:
 	rt2x00queue_pause_queue(queue);
+ exit_free_skb:
 	dev_kfree_skb_any(skb);
 }
 EXPORT_SYMBOL_GPL(rt2x00mac_tx);
-- 
1.7.1

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

* Re: [PATCH] rt2x00: fix usage of NULL queue
  2011-08-02 11:29 [PATCH] rt2x00: fix usage of NULL queue Stanislaw Gruszka
@ 2011-08-02 11:33 ` Ivo Van Doorn
  2011-08-02 11:46 ` Gertjan van Wingerde
  1 sibling, 0 replies; 3+ messages in thread
From: Ivo Van Doorn @ 2011-08-02 11:33 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: John W. Linville, Gertjan van Wingerde, Helmut Schaa,
	linux-wireless

On Tue, Aug 2, 2011 at 1:29 PM, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> We may call rt2x00queue_pause_queue(queue) with queue == NULL. Bug
> was introduced by commit 62fe778412b36791b7897cfa139342906fbbf07b
> "rt2x00: Fix stuck queue in tx failure case" .
>
> Cc: stable@kernel.org # 3.0+
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>

Acked-by: Ivo van Doorn <IvDoorn@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2x00mac.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
> index 8efab39..4ccf238 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00mac.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
> @@ -113,7 +113,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>         * due to possible race conditions in mac80211.
>         */
>        if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
> -               goto exit_fail;
> +               goto exit_free_skb;
>
>        /*
>         * Use the ATIM queue if appropriate and present.
> @@ -127,7 +127,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>                ERROR(rt2x00dev,
>                      "Attempt to send packet over invalid queue %d.\n"
>                      "Please file bug report to %s.\n", qid, DRV_PROJECT);
> -               goto exit_fail;
> +               goto exit_free_skb;
>        }
>
>        /*
> @@ -159,6 +159,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>
>  exit_fail:
>        rt2x00queue_pause_queue(queue);
> + exit_free_skb:
>        dev_kfree_skb_any(skb);
>  }
>  EXPORT_SYMBOL_GPL(rt2x00mac_tx);
> --
> 1.7.1
>

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

* Re: [PATCH] rt2x00: fix usage of NULL queue
  2011-08-02 11:29 [PATCH] rt2x00: fix usage of NULL queue Stanislaw Gruszka
  2011-08-02 11:33 ` Ivo Van Doorn
@ 2011-08-02 11:46 ` Gertjan van Wingerde
  1 sibling, 0 replies; 3+ messages in thread
From: Gertjan van Wingerde @ 2011-08-02 11:46 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: John W. Linville, Ivo van Doorn, Helmut Schaa, linux-wireless

On Tue, Aug 2, 2011 at 1:29 PM, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> We may call rt2x00queue_pause_queue(queue) with queue == NULL. Bug
> was introduced by commit 62fe778412b36791b7897cfa139342906fbbf07b
> "rt2x00: Fix stuck queue in tx failure case" .
>
> Cc: stable@kernel.org # 3.0+
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>

Good catch.

Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2x00mac.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
> index 8efab39..4ccf238 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00mac.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
> @@ -113,7 +113,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>         * due to possible race conditions in mac80211.
>         */
>        if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
> -               goto exit_fail;
> +               goto exit_free_skb;
>
>        /*
>         * Use the ATIM queue if appropriate and present.
> @@ -127,7 +127,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>                ERROR(rt2x00dev,
>                      "Attempt to send packet over invalid queue %d.\n"
>                      "Please file bug report to %s.\n", qid, DRV_PROJECT);
> -               goto exit_fail;
> +               goto exit_free_skb;
>        }
>
>        /*
> @@ -159,6 +159,7 @@ void rt2x00mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
>
>  exit_fail:
>        rt2x00queue_pause_queue(queue);
> + exit_free_skb:
>        dev_kfree_skb_any(skb);
>  }
>  EXPORT_SYMBOL_GPL(rt2x00mac_tx);
> --
> 1.7.1
>



-- 
---
Gertjan

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

end of thread, other threads:[~2011-08-02 11:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-02 11:29 [PATCH] rt2x00: fix usage of NULL queue Stanislaw Gruszka
2011-08-02 11:33 ` Ivo Van Doorn
2011-08-02 11:46 ` Gertjan van Wingerde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox