svn commit: r302811 - head/sys/dev/hyperv/vmbus

Sepherosa Ziehau sephe at FreeBSD.org
Thu Jul 14 06:48:25 UTC 2016


Author: sephe
Date: Thu Jul 14 06:48:24 2016
New Revision: 302811
URL: https://svnweb.freebsd.org/changeset/base/302811

Log:
  hyperv/vmbus: Cleanup vmbus_chan_msgproc_choffer
  
  MFC after:	1 week
  Sponsored by:	Microsoft OSTC
  Differential Revision:	https://reviews.freebsd.org/D7104

Modified:
  head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c

Modified: head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c	Thu Jul 14 06:40:42 2016	(r302810)
+++ head/sys/dev/hyperv/vmbus/hv_channel_mgmt.c	Thu Jul 14 06:48:24 2016	(r302811)
@@ -247,7 +247,7 @@ vmbus_channel_cpu_rr(struct hv_vmbus_cha
 }
 
 static void
-vmbus_channel_select_defcpu(struct hv_vmbus_channel *chan)
+vmbus_chan_cpu_default(struct hv_vmbus_channel *chan)
 {
 	/*
 	 * By default, pin the channel to cpu0.  Devices having
@@ -262,56 +262,54 @@ vmbus_chan_msgproc_choffer(struct vmbus_
     const struct vmbus_message *msg)
 {
 	const struct vmbus_chanmsg_choffer *offer;
-	hv_vmbus_channel* new_channel;
+	struct hv_vmbus_channel *chan;
 	int error;
 
 	offer = (const struct vmbus_chanmsg_choffer *)msg->msg_data;
 
-	/*
-	 * Allocate the channel object and save this offer
-	 */
-	new_channel = vmbus_chan_alloc(sc);
-	if (new_channel == NULL) {
+	chan = vmbus_chan_alloc(sc);
+	if (chan == NULL) {
 		device_printf(sc->vmbus_dev, "allocate chan%u failed\n",
 		    offer->chm_chanid);
 		return;
 	}
 
-	new_channel->ch_id = offer->chm_chanid;
-	new_channel->ch_subidx = offer->chm_subidx;
-	new_channel->ch_guid_type = offer->chm_chtype;
-	new_channel->ch_guid_inst = offer->chm_chinst;
+	chan->ch_id = offer->chm_chanid;
+	chan->ch_subidx = offer->chm_subidx;
+	chan->ch_guid_type = offer->chm_chtype;
+	chan->ch_guid_inst = offer->chm_chinst;
 
 	/* Batch reading is on by default */
-	new_channel->ch_flags |= VMBUS_CHAN_FLAG_BATCHREAD;
-	if (offer->chm_flags1 & VMBUS_CHOFFER_FLAG1_HASMNF)
-		new_channel->ch_flags |= VMBUS_CHAN_FLAG_HASMNF;
+	chan->ch_flags |= VMBUS_CHAN_FLAG_BATCHREAD;
 
-	new_channel->ch_monprm->mp_connid = VMBUS_CONNID_EVENT;
+	chan->ch_monprm->mp_connid = VMBUS_CONNID_EVENT;
 	if (sc->vmbus_version != VMBUS_VERSION_WS2008)
-		new_channel->ch_monprm->mp_connid = offer->chm_connid;
+		chan->ch_monprm->mp_connid = offer->chm_connid;
 
-	if (new_channel->ch_flags & VMBUS_CHAN_FLAG_HASMNF) {
-		new_channel->ch_montrig_idx =
-		    offer->chm_montrig / VMBUS_MONTRIG_LEN;
-		if (new_channel->ch_montrig_idx >= VMBUS_MONTRIGS_MAX)
+	if (offer->chm_flags1 & VMBUS_CHOFFER_FLAG1_HASMNF) {
+		/*
+		 * Setup MNF stuffs.
+		 */
+		chan->ch_flags |= VMBUS_CHAN_FLAG_HASMNF;
+		chan->ch_montrig_idx = offer->chm_montrig / VMBUS_MONTRIG_LEN;
+		if (chan->ch_montrig_idx >= VMBUS_MONTRIGS_MAX)
 			panic("invalid monitor trigger %u", offer->chm_montrig);
-		new_channel->ch_montrig_mask =
+		chan->ch_montrig_mask =
 		    1 << (offer->chm_montrig % VMBUS_MONTRIG_LEN);
 	}
 
 	/* Select default cpu for this channel. */
-	vmbus_channel_select_defcpu(new_channel);
+	vmbus_chan_cpu_default(chan);
 
-	error = vmbus_chan_add(new_channel);
+	error = vmbus_chan_add(chan);
 	if (error) {
 		device_printf(sc->vmbus_dev, "add chan%u failed: %d\n",
-		    new_channel->ch_id, error);
-		vmbus_chan_free(new_channel);
+		    chan->ch_id, error);
+		vmbus_chan_free(chan);
 		return;
 	}
 
-	if (HV_VMBUS_CHAN_ISPRIMARY(new_channel)) {
+	if (HV_VMBUS_CHAN_ISPRIMARY(chan)) {
 		/*
 		 * Add device for this primary channel.
 		 *
@@ -319,7 +317,7 @@ vmbus_chan_msgproc_choffer(struct vmbus_
 		 * Error is ignored here; don't have much to do if error
 		 * really happens.
 		 */
-		hv_vmbus_child_device_register(new_channel);
+		hv_vmbus_child_device_register(chan);
 	}
 }
 


More information about the svn-src-head mailing list