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: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f409e34800
commit
552fe53f48
1 changed files with 10 additions and 5 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue