svn commit: r361518 - head/sys/dev/ena

Marcin Wojtas mw at FreeBSD.org
Tue May 26 15:44:09 UTC 2020


Author: mw
Date: Tue May 26 15:44:08 2020
New Revision: 361518
URL: https://svnweb.freebsd.org/changeset/base/361518

Log:
  Improve indentation in ena_up() and ena_down()
  
  If the conditional check for ENA_FLAG_DEV_UP is negated, the body of the
  function can have smaller indentation and it makes the code cleaner.
  
  Submitted by:  Michal Krawczyk <mk at semihalf.com>
  Obtained from: Semihalf
  Sponsored by:  Amazon, Inc.

Modified:
  head/sys/dev/ena/ena.c

Modified: head/sys/dev/ena/ena.c
==============================================================================
--- head/sys/dev/ena/ena.c	Tue May 26 15:41:53 2020	(r361517)
+++ head/sys/dev/ena/ena.c	Tue May 26 15:44:08 2020	(r361518)
@@ -1788,71 +1788,72 @@ ena_up(struct ena_adapter *adapter)
 		return (ENXIO);
 	}
 
-	if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
-		device_printf(adapter->pdev, "device is going UP\n");
+	if (ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter))
+		return (0);
 
-		/* setup interrupts for IO queues */
-		rc = ena_setup_io_intr(adapter);
-		if (unlikely(rc != 0)) {
-			ena_trace(ENA_ALERT, "error setting up IO interrupt\n");
-			goto error;
-		}
-		rc = ena_request_io_irq(adapter);
-		if (unlikely(rc != 0)) {
-			ena_trace(ENA_ALERT, "err_req_irq\n");
-			goto error;
-		}
+	device_printf(adapter->pdev, "device is going UP\n");
 
-		/* allocate transmit descriptors */
-		rc = ena_setup_all_tx_resources(adapter);
-		if (unlikely(rc != 0)) {
-			ena_trace(ENA_ALERT, "err_setup_tx\n");
-			goto err_setup_tx;
-		}
+	/* setup interrupts for IO queues */
+	rc = ena_setup_io_intr(adapter);
+	if (unlikely(rc != 0)) {
+		ena_trace(ENA_ALERT, "error setting up IO interrupt\n");
+		goto error;
+	}
+	rc = ena_request_io_irq(adapter);
+	if (unlikely(rc != 0)) {
+		ena_trace(ENA_ALERT, "err_req_irq\n");
+		goto error;
+	}
 
-		/* allocate receive descriptors */
-		rc = ena_setup_all_rx_resources(adapter);
-		if (unlikely(rc != 0)) {
-			ena_trace(ENA_ALERT, "err_setup_rx\n");
-			goto err_setup_rx;
-		}
+	/* allocate transmit descriptors */
+	rc = ena_setup_all_tx_resources(adapter);
+	if (unlikely(rc != 0)) {
+		ena_trace(ENA_ALERT, "err_setup_tx\n");
+		goto err_setup_tx;
+	}
 
-		/* create IO queues for Rx & Tx */
-		rc = ena_create_io_queues(adapter);
-		if (unlikely(rc != 0)) {
-			ena_trace(ENA_ALERT,
-			    "create IO queues failed\n");
-			goto err_io_que;
-		}
+	/* allocate receive descriptors */
+	rc = ena_setup_all_rx_resources(adapter);
+	if (unlikely(rc != 0)) {
+		ena_trace(ENA_ALERT, "err_setup_rx\n");
+		goto err_setup_rx;
+	}
 
-		if (ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, adapter))
-			if_link_state_change(adapter->ifp, LINK_STATE_UP);
+	/* create IO queues for Rx & Tx */
+	rc = ena_create_io_queues(adapter);
+	if (unlikely(rc != 0)) {
+		ena_trace(ENA_ALERT,
+			"create IO queues failed\n");
+		goto err_io_que;
+	}
 
-		rc = ena_up_complete(adapter);
-		if (unlikely(rc != 0))
-			goto err_up_complete;
+	if (ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, adapter))
+		if_link_state_change(adapter->ifp, LINK_STATE_UP);
 
-		counter_u64_add(adapter->dev_stats.interface_up, 1);
+	rc = ena_up_complete(adapter);
+	if (unlikely(rc != 0))
+		goto err_up_complete;
 
-		ena_update_hwassist(adapter);
+	counter_u64_add(adapter->dev_stats.interface_up, 1);
 
-		if_setdrvflagbits(adapter->ifp, IFF_DRV_RUNNING,
-		    IFF_DRV_OACTIVE);
+	ena_update_hwassist(adapter);
 
-		/* Activate timer service only if the device is running.
-		 * If this flag is not set, it means that the driver is being
-		 * reset and timer service will be activated afterwards.
-		 */
-		if (ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter)) {
-			callout_reset_sbt(&adapter->timer_service, SBT_1S,
-			    SBT_1S, ena_timer_service, (void *)adapter, 0);
-		}
+	if_setdrvflagbits(adapter->ifp, IFF_DRV_RUNNING,
+		IFF_DRV_OACTIVE);
 
-		ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP, adapter);
-
-		ena_unmask_all_io_irqs(adapter);
+	/* Activate timer service only if the device is running.
+		* If this flag is not set, it means that the driver is being
+		* reset and timer service will be activated afterwards.
+		*/
+	if (ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter)) {
+		callout_reset_sbt(&adapter->timer_service, SBT_1S,
+			SBT_1S, ena_timer_service, (void *)adapter, 0);
 	}
 
+	ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP, adapter);
+
+	ena_unmask_all_io_irqs(adapter);
+
 	return (0);
 
 err_up_complete:
@@ -2162,34 +2163,35 @@ ena_down(struct ena_adapter *adapter)
 {
 	int rc;
 
-	if (ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
-		device_printf(adapter->pdev, "device is going DOWN\n");
+	if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter))
+		return;
 
-		callout_drain(&adapter->timer_service);
+	device_printf(adapter->pdev, "device is going DOWN\n");
 
-		ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_DEV_UP, adapter);
-		if_setdrvflagbits(adapter->ifp, IFF_DRV_OACTIVE,
-		    IFF_DRV_RUNNING);
+	callout_drain(&adapter->timer_service);
 
-		ena_free_io_irq(adapter);
+	ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_DEV_UP, adapter);
+	if_setdrvflagbits(adapter->ifp, IFF_DRV_OACTIVE,
+		IFF_DRV_RUNNING);
 
-		if (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)) {
-			rc = ena_com_dev_reset(adapter->ena_dev,
-			    adapter->reset_reason);
-			if (unlikely(rc != 0))
-				device_printf(adapter->pdev,
-				    "Device reset failed\n");
-		}
+	ena_free_io_irq(adapter);
 
-		ena_destroy_all_io_queues(adapter);
+	if (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)) {
+		rc = ena_com_dev_reset(adapter->ena_dev,
+			adapter->reset_reason);
+		if (unlikely(rc != 0))
+			device_printf(adapter->pdev,
+				"Device reset failed\n");
+	}
 
-		ena_free_all_tx_bufs(adapter);
-		ena_free_all_rx_bufs(adapter);
-		ena_free_all_tx_resources(adapter);
-		ena_free_all_rx_resources(adapter);
+	ena_destroy_all_io_queues(adapter);
 
-		counter_u64_add(adapter->dev_stats.interface_down, 1);
-	}
+	ena_free_all_tx_bufs(adapter);
+	ena_free_all_rx_bufs(adapter);
+	ena_free_all_tx_resources(adapter);
+	ena_free_all_rx_resources(adapter);
+
+	counter_u64_add(adapter->dev_stats.interface_down, 1);
 }
 
 static int


More information about the svn-src-all mailing list