#define TRANSPORT_INFO_IPV6_TCP ((INFO_IPV6 << 16) | INFO_TCP)
 #define TRANSPORT_INFO_IPV6_UDP ((INFO_IPV6 << 16) | INFO_UDP)
 
-static inline struct vmbus_channel *get_channel(struct hv_netvsc_packet *packet,
-                                       struct netvsc_device *net_device)
-
-{
-       struct vmbus_channel *out_channel;
-
-       out_channel = net_device->chn_table[packet->q_idx];
-       if (!out_channel) {
-               out_channel = net_device->dev->channel;
-               packet->q_idx = 0;
-       }
-       return out_channel;
-}
-
-
 #endif /* _HYPERV_NET_H */
 
        struct netvsc_device *net_device)
 {
        struct nvsp_message nvmsg;
-       struct vmbus_channel *out_channel = get_channel(packet, net_device);
        u16 q_idx = packet->q_idx;
+       struct vmbus_channel *out_channel = net_device->chn_table[q_idx];
        struct net_device *ndev = net_device->ndev;
        u64 req_id;
        int ret;
        if (!net_device)
                return -ENODEV;
 
-       out_channel = get_channel(packet, net_device);
-       q_idx = packet->q_idx;
+       out_channel = net_device->chn_table[q_idx];
 
        packet->send_buf_index = NETVSC_INVALID_INDEX;
        packet->cp_partial = false;