summaryrefslogtreecommitdiff
path: root/drivers/staging/bcm/Transmit.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/bcm/Transmit.c')
-rw-r--r--drivers/staging/bcm/Transmit.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/staging/bcm/Transmit.c b/drivers/staging/bcm/Transmit.c
index cd27bd8a2e37..346c55da7228 100644
--- a/drivers/staging/bcm/Transmit.c
+++ b/drivers/staging/bcm/Transmit.c
@@ -89,6 +89,8 @@ int SetupNextSend(struct bcm_mini_adapter *Adapter, struct sk_buff *Packet, USH
bool bHeaderSupressionEnabled = false;
B_UINT16 uiClassifierRuleID;
u16 QueueIndex = skb_get_queue_mapping(Packet);
+ struct bcm_packet_info *curr_packet_info =
+ &Adapter->PackInfo[QueueIndex];
struct bcm_leader Leader = {0};
if (Packet->len > MAX_DEVICE_DESC_SIZE) {
@@ -99,7 +101,7 @@ int SetupNextSend(struct bcm_mini_adapter *Adapter, struct sk_buff *Packet, USH
/* Get the Classifier Rule ID */
uiClassifierRuleID = *((UINT32 *) (Packet->cb) + SKB_CB_CLASSIFICATION_OFFSET);
- bHeaderSupressionEnabled = Adapter->PackInfo[QueueIndex].bHeaderSuppressionEnabled
+ bHeaderSupressionEnabled = curr_packet_info->bHeaderSuppressionEnabled
& Adapter->bPHSEnabled;
if (Adapter->device_removed) {
@@ -108,7 +110,7 @@ int SetupNextSend(struct bcm_mini_adapter *Adapter, struct sk_buff *Packet, USH
}
status = PHSTransmit(Adapter, &Packet, Vcid, uiClassifierRuleID, bHeaderSupressionEnabled,
- (UINT *)&Packet->len, Adapter->PackInfo[QueueIndex].bEthCSSupport);
+ (UINT *)&Packet->len, curr_packet_info->bEthCSSupport);
if (status != STATUS_SUCCESS) {
BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, NEXT_SEND, DBG_LVL_ALL,
@@ -123,7 +125,7 @@ int SetupNextSend(struct bcm_mini_adapter *Adapter, struct sk_buff *Packet, USH
else
Leader.Status = LEADER_STATUS;
- if (Adapter->PackInfo[QueueIndex].bEthCSSupport) {
+ if (curr_packet_info->bEthCSSupport) {
Leader.PLength = Packet->len;
if (skb_headroom(Packet) < LEADER_SIZE) {
status = skb_cow(Packet, LEADER_SIZE);
@@ -149,18 +151,18 @@ int SetupNextSend(struct bcm_mini_adapter *Adapter, struct sk_buff *Packet, USH
} else {
struct net_device_stats *netstats = &Adapter->dev->stats;
- Adapter->PackInfo[QueueIndex].uiTotalTxBytes += Leader.PLength;
+ curr_packet_info->uiTotalTxBytes += Leader.PLength;
netstats->tx_bytes += Leader.PLength;
++netstats->tx_packets;
- Adapter->PackInfo[QueueIndex].uiCurrentTokenCount -= Leader.PLength << 3;
- Adapter->PackInfo[QueueIndex].uiSentBytes += (Packet->len);
- Adapter->PackInfo[QueueIndex].uiSentPackets++;
- Adapter->PackInfo[QueueIndex].NumOfPacketsSent++;
+ curr_packet_info->uiCurrentTokenCount -= Leader.PLength << 3;
+ curr_packet_info->uiSentBytes += (Packet->len);
+ curr_packet_info->uiSentPackets++;
+ curr_packet_info->NumOfPacketsSent++;
- atomic_dec(&Adapter->PackInfo[QueueIndex].uiPerSFTxResourceCount);
- Adapter->PackInfo[QueueIndex].uiThisPeriodSentBytes += Leader.PLength;
+ atomic_dec(&curr_packet_info->uiPerSFTxResourceCount);
+ curr_packet_info->uiThisPeriodSentBytes += Leader.PLength;
}
atomic_dec(&Adapter->CurrNumFreeTxDesc);