OSDN Git Service

hyperv: netvsc: Neaten netvsc_send_pkt by using a temporary
authorJoe Perches <joe@perches.com>
Mon, 31 Jul 2017 17:30:54 +0000 (10:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Aug 2017 17:36:00 +0000 (10:36 -0700)
Repeated dereference of nvmsg.msg.v1_msg.send_rndis_pkt can be
shortened by using a temporary.  Do so.

No change in object code.

Miscellanea:

o Use * const for rpkt and nvchan

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c

index c64934c..9598220 100644 (file)
@@ -747,8 +747,10 @@ static inline int netvsc_send_pkt(
        struct sk_buff *skb)
 {
        struct nvsp_message nvmsg;
-       struct netvsc_channel *nvchan
-               = &net_device->chan_table[packet->q_idx];
+       struct nvsp_1_message_send_rndis_packet * const rpkt =
+               &nvmsg.msg.v1_msg.send_rndis_pkt;
+       struct netvsc_channel * const nvchan =
+               &net_device->chan_table[packet->q_idx];
        struct vmbus_channel *out_channel = nvchan->channel;
        struct net_device *ndev = hv_get_drvdata(device);
        struct netdev_queue *txq = netdev_get_tx_queue(ndev, packet->q_idx);
@@ -757,21 +759,16 @@ static inline int netvsc_send_pkt(
        u32 ring_avail = hv_ringbuf_avail_percent(&out_channel->outbound);
 
        nvmsg.hdr.msg_type = NVSP_MSG1_TYPE_SEND_RNDIS_PKT;
-       if (skb != NULL) {
-               /* 0 is RMC_DATA; */
-               nvmsg.msg.v1_msg.send_rndis_pkt.channel_type = 0;
-       } else {
-               /* 1 is RMC_CONTROL; */
-               nvmsg.msg.v1_msg.send_rndis_pkt.channel_type = 1;
-       }
+       if (skb)
+               rpkt->channel_type = 0;         /* 0 is RMC_DATA */
+       else
+               rpkt->channel_type = 1;         /* 1 is RMC_CONTROL */
 
-       nvmsg.msg.v1_msg.send_rndis_pkt.send_buf_section_index =
-               packet->send_buf_index;
+       rpkt->send_buf_section_index = packet->send_buf_index;
        if (packet->send_buf_index == NETVSC_INVALID_INDEX)
-               nvmsg.msg.v1_msg.send_rndis_pkt.send_buf_section_size = 0;
+               rpkt->send_buf_section_size = 0;
        else
-               nvmsg.msg.v1_msg.send_rndis_pkt.send_buf_section_size =
-                       packet->total_data_buflen;
+               rpkt->send_buf_section_size = packet->total_data_buflen;
 
        req_id = (ulong)skb;