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

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

p54: fix skb->cb tx info conversion



When I moved the TX info into skb->cb apparently I forgot to change a
few places to put the p54-internal data into info->driver_data rather
than skb->cb. This should fix it.

Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f409e348
Loading
Loading
Loading
Loading
+10 −5
Original line number Original line Diff line number Diff line
@@ -392,16 +392,21 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
	u32 last_addr = priv->rx_start;
	u32 last_addr = priv->rx_start;


	while (entry != (struct sk_buff *)&priv->tx_queue) {
	while (entry != (struct sk_buff *)&priv->tx_queue) {
		range = (struct memrecord *)&entry->cb;
		if (range->start_addr == addr) {
		struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
		struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
		range = (void *)info->driver_data;
		if (range->start_addr == addr) {
			struct p54_control_hdr *entry_hdr;
			struct p54_control_hdr *entry_hdr;
			struct p54_tx_control_allocdata *entry_data;
			struct p54_tx_control_allocdata *entry_data;
			int pad = 0;
			int pad = 0;


			if (entry->next != (struct sk_buff *)&priv->tx_queue)
			if (entry->next != (struct sk_buff *)&priv->tx_queue) {
				freed = ((struct memrecord *)&entry->next->cb)->start_addr - last_addr;
				struct ieee80211_tx_info *ni;
			else
				struct memrecord *mr;

				ni = IEEE80211_SKB_CB(entry->next);
				mr = (struct memrecord *)ni->driver_data;
				freed = mr->start_addr - last_addr;
			} else
				freed = priv->rx_end - last_addr;
				freed = priv->rx_end - last_addr;


			last_addr = range->end_addr;
			last_addr = range->end_addr;