|
@@ -480,7 +480,11 @@ static int xgbe_map_tx_skb(struct xgbe_channel *channel, struct sk_buff *skb)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- /* Save the skb address in the last entry */
|
|
|
|
|
|
+ /* Save the skb address in the last entry. We always have some data
|
|
|
|
+ * that has been mapped so rdata is always advanced past the last
|
|
|
|
+ * piece of mapped data - use the entry pointed to by cur_index - 1.
|
|
|
|
+ */
|
|
|
|
+ rdata = XGBE_GET_DESC_DATA(ring, cur_index - 1);
|
|
rdata->skb = skb;
|
|
rdata->skb = skb;
|
|
|
|
|
|
/* Save the number of descriptor entries used */
|
|
/* Save the number of descriptor entries used */
|