Skip to content

Commit

Permalink
p54: fix skb->cb tx info conversion
Browse files Browse the repository at this point in the history
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: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Jun 3, 2008
1 parent f409e34 commit 552fe53
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions drivers/net/wireless/p54/p54common.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,16 +392,21 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
u32 last_addr = priv->rx_start;

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) {
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
struct p54_control_hdr *entry_hdr;
struct p54_tx_control_allocdata *entry_data;
int pad = 0;

if (entry->next != (struct sk_buff *)&priv->tx_queue)
freed = ((struct memrecord *)&entry->next->cb)->start_addr - last_addr;
else
if (entry->next != (struct sk_buff *)&priv->tx_queue) {
struct ieee80211_tx_info *ni;
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;

last_addr = range->end_addr;
Expand Down

0 comments on commit 552fe53

Please sign in to comment.