rt2x00: add txdesc parameter to write_tx_data
PATCH 1/2 rt2x00: add txdesc parameter to write_tx_data
Extend the write_tx_data callback with a txdesc parameter to allow access to the tx desciptor while preparing the tx data.
Signed-off-by Helmut Schaa <[email protected]>
--- drivers/net/wireless/rt2x00/rt2x00.h | 3 ++- drivers/net/wireless/rt2x00/rt2x00pci.c | 3 ++- drivers/net/wireless/rt2x00/rt2x00pci.h | 3 ++- drivers/net/wireless/rt2x00/rt2x00queue.c | 3 ++- drivers/net/wireless/rt2x00/rt2x00usb.c | 3 ++- drivers/net/wireless/rt2x00/rt2x00usb.h | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-)
drivers/net/wireless/rt2x00/rt2x00.h +2 -1
@@ -549,7 +549,8 @@ struct rt2x00lib_ops {void (*write_tx_desc) (struct rt2x00_dev *rt2x00dev,struct sk_buff *skb,struct txentry_desc *txdesc); -int (*write_tx_data) (struct queue_entry *entry); +int (*write_tx_data) (struct queue_entry *entry, +struct txentry_desc *txdesc);void (*write_beacon) (struct queue_entry *entry);int (*get_tx_data_len) (struct queue_entry *entry); void (*kick_tx_queue) (struct rt2x00_dev *rt2x00dev,
drivers/net/wireless/rt2x00/rt2x00pci.c +2 -1
@@ -62,7 +62,8 @@ EXPORT_SYMBOL_GPL(rt2x00pci_regbusy_read);/* * TX data handlers. */ -int rt2x00pci_write_tx_data (struct queue_entry *entry) +int rt2x00pci_write_tx_data (struct queue_entry *entry, +struct txentry_desc *txdesc) {struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;struct queue_entry_priv_pci *entry_priv = entry->priv_data;
drivers/net/wireless/rt2x00/rt2x00pci.h +2 -1
@@ -92,7 +92,8 @@ int rt2x00pci_regbusy_read(struct rt2x00_dev *rt2x00dev,* This function will initialize the DMA and skb descriptor * to prepare the entry for the actual TX operation. */ -int rt2x00pci_write_tx_data (struct queue_entry *entry); +int rt2x00pci_write_tx_data (struct queue_entry *entry, +struct txentry_desc *txdesc);/** * struct queue_entry_priv_pci: Per entry PCI specific information
drivers/net/wireless/rt2x00/rt2x00queue.c +2 -1
@@ -525,7 +525,8 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb,* call failed. Since we always return NETDEV_TX_OK to mac80211, * this frame will simply be dropped. */ -if (unlikely (queue->rt2x00dev->ops->lib->write_tx_data (entry))) { +if (unlikely (queue->rt2x00dev->ops->lib->write_tx_data (entry, + &txdesc))) {clear_bit (ENTRY_OWNER_DEVICE_DATA , &entry->flags); entry->skb =NULL ;return -EIO ;
drivers/net/wireless/rt2x00/rt2x00usb.c +2 -1
@@ -215,7 +215,8 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb)rt2x00lib_txdone (entry, &txdesc); } -int rt2x00usb_write_tx_data (struct queue_entry *entry) +int rt2x00usb_write_tx_data (struct queue_entry *entry, +struct txentry_desc *txdesc) {struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;struct usb_device *usb_dev =to_usb_device_intf (rt2x00dev->dev);
drivers/net/wireless/rt2x00/rt2x00usb.h +2 -1
@@ -376,7 +376,8 @@ void rt2x00usb_disable_radio(struct rt2x00_dev *rt2x00dev);* This function will initialize the URB and skb descriptor * to prepare the entry for the actual TX operation. */ -int rt2x00usb_write_tx_data (struct queue_entry *entry); +int rt2x00usb_write_tx_data (struct queue_entry *entry, +struct txentry_desc *txdesc);/** * struct queue_entry_priv_usb: Per entry USB specific information
Signature · 1 line
1.6.4.2