All of lore.kernel.org
 help / color / mirror / Atom feed
* rt2x00: Only free skb when beacon_update fails
@ 2008-04-09 18:46 Ivo van Doorn
  0 siblings, 0 replies; only message in thread
From: Ivo van Doorn @ 2008-04-09 18:46 UTC (permalink / raw)
  To: John W. Linville; +Cc: linux-wireless, rt2400-devel

In rt2x00lib_intf_scheduled_iter() we use the hw->beacon_update()
callback function. This means that it should behave similarly as mac80211
when that uses the function.

This means that the skb should only be freed when beacon_update() has failed,
otherwise the driver is the owner and is responsible for freeing the buffer.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 0361524..f8fe7a1 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -433,11 +433,9 @@ static void rt2x00lib_intf_scheduled_iter(void *data, u8 *mac,
 
 	if (delayed_flags & DELAYED_UPDATE_BEACON) {
 		skb = ieee80211_beacon_get(rt2x00dev->hw, vif, &control);
-		if (skb) {
-			rt2x00dev->ops->hw->beacon_update(rt2x00dev->hw, skb,
-							  &control);
+		if (skb && rt2x00dev->ops->hw->beacon_update(rt2x00dev->hw,
+							     skb, &control))
 			dev_kfree_skb(skb);
-		}
 	}
 
 	if (delayed_flags & DELAYED_CONFIG_ERP)

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-04-09 18:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-09 18:46 rt2x00: Only free skb when beacon_update fails Ivo van Doorn

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.