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

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
...@@ -392,16 +392,21 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb) ...@@ -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; struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
range = (void *)info->driver_data;
if (range->start_addr == addr) { if (range->start_addr == addr) {
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment