Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7cd1686 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

hostap: pad the skb->cb usage in lieu of a proper fix



Like mac80211 did, this driver makes 'clever' use of skb->cb to pass
information along with an skb as it is requeued from the virtual device
to the physical wireless device.  Unfortunately, that trick no longer
works...

Unlike mac80211, code complexity and driver apathy makes this hack
the best option we have in the short run.  Hopefully someone will
eventually be motivated to code a proper fix before all the effected
hardware dies.

(Above text by me.  Johannes officially disavows all knowledge of this
hack. -- JWL)

Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Cc: stable@kernel.org
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f3c76918
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -918,9 +918,12 @@ struct hostap_interface {


/*
/*
 * TX meta data - stored in skb->cb buffer, so this must not be increased over
 * TX meta data - stored in skb->cb buffer, so this must not be increased over
 * the 40-byte limit
 * the 48-byte limit.
 * THE PADDING THIS STARTS WITH IS A HORRIBLE HACK THAT SHOULD NOT LIVE
 * TO SEE THE DAY.
 */
 */
struct hostap_skb_tx_data {
struct hostap_skb_tx_data {
	unsigned int __padding_for_default_qdiscs;
	u32 magic; /* HOSTAP_SKB_TX_DATA_MAGIC */
	u32 magic; /* HOSTAP_SKB_TX_DATA_MAGIC */
	u8 rate; /* transmit rate */
	u8 rate; /* transmit rate */
#define HOSTAP_TX_FLAGS_WDS BIT(0)
#define HOSTAP_TX_FLAGS_WDS BIT(0)