diff --git a/lib/fat-rwlock.c b/lib/fat-rwlock.c
index 19b714907..d913b2088 100644
--- a/lib/fat-rwlock.c
+++ b/lib/fat-rwlock.c
@@ -270,6 +270,7 @@ fat_rwlock_unlock(const struct fat_rwlock *rwlock_)
 
     case 1:
         ovs_mutex_unlock(&this->mutex);
+        /* fall through */
     default:
         this->depth--;
         break;
diff --git a/lib/flow.c b/lib/flow.c
index d73e796a2..75c124051 100644
--- a/lib/flow.c
+++ b/lib/flow.c
@@ -2032,7 +2032,7 @@ flow_mask_hash_fields(const struct flow *flow, struct flow_wildcards *wc,
             memset(&wc->masks.tp_src, 0xff, sizeof wc->masks.tp_src);
             memset(&wc->masks.tp_dst, 0xff, sizeof wc->masks.tp_dst);
         }
-        /* no break */
+        /* fall through */
     case NX_HASH_FIELDS_SYMMETRIC_L3L4:
         if (flow->dl_type == htons(ETH_TYPE_IP)) {
             memset(&wc->masks.nw_src, 0xff, sizeof wc->masks.nw_src);
diff --git a/lib/hash.c b/lib/hash.c
index aa898a3b8..321f9d927 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -282,37 +282,50 @@ hash_bytes128(const void *p_, size_t len, uint32_t basis, ovs_u128 *out)
     switch (len & 15) {
     case 15:
         k2 ^= ((uint64_t) tail[14]) << 48;
+        /* fall through */
     case 14:
         k2 ^= ((uint64_t) tail[13]) << 40;
+        /* fall through */
     case 13:
         k2 ^= ((uint64_t) tail[12]) << 32;
+        /* fall through */
     case 12:
         k2 ^= ((uint64_t) tail[11]) << 24;
+        /* fall through */
     case 11:
         k2 ^= ((uint64_t) tail[10]) << 16;
+        /* fall through */
     case 10:
         k2 ^= ((uint64_t) tail[9]) << 8;
+        /* fall through */
     case 9:
         k2 ^= ((uint64_t) tail[8]) << 0;
         k2 *= c2;
         k2 = hash_rot64(k2, 33);
         k2 *= c1;
         h2 ^= k2;
-
+        /* fall through */
     case 8:
         k1 ^= ((uint64_t) tail[7]) << 56;
+        /* fall through */
     case 7:
         k1 ^= ((uint64_t) tail[6]) << 48;
+        /* fall through */
     case 6:
         k1 ^= ((uint64_t) tail[5]) << 40;
+        /* fall through */
     case 5:
         k1 ^= ((uint64_t) tail[4]) << 32;
+        /* fall through */
     case 4:
         k1 ^= ((uint64_t) tail[3]) << 24;
+        /* fall through */
     case 3:
         k1 ^= ((uint64_t) tail[2]) << 16;
+        /* fall through */
     case 2:
         k1 ^= ((uint64_t) tail[1]) << 8;
+        /* fall through */
     case 1:
         k1 ^= ((uint64_t) tail[0]) << 0;
         k1 *= c1;
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index da171cdf6..f5fcb3232 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -9740,6 +9740,7 @@ ofputil_encode_group_mod(enum ofp_version ofp_version,
     switch (ofp_version) {
     case OFP10_VERSION:
         bad_group_cmd(gm->command);
+        /* fall through */
 
     case OFP11_VERSION:
     case OFP12_VERSION:
diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c
index 5643c1028..8fdaec953 100644
--- a/lib/rstp-state-machines.c
+++ b/lib/rstp-state-machines.c
@@ -401,7 +401,7 @@ updt_roles_tree__(struct rstp *r)
             break;
         default:
             OVS_NOT_REACHED();
-            /* no break */
+            /* fall through */
         }
     }
     seq_change(connectivity_seq_get());
@@ -442,7 +442,7 @@ port_role_selection_sm(struct rstp *r)
     case PORT_ROLE_SELECTION_SM_INIT_BRIDGE_EXEC:
         updt_role_disabled_tree(r);
         r->port_role_selection_sm_state = PORT_ROLE_SELECTION_SM_INIT_BRIDGE;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_SELECTION_SM_INIT_BRIDGE:
         r->port_role_selection_sm_state =
             PORT_ROLE_SELECTION_SM_ROLE_SELECTION_EXEC;
@@ -453,7 +453,7 @@ port_role_selection_sm(struct rstp *r)
         set_selected_tree(r);
         r->port_role_selection_sm_state =
             PORT_ROLE_SELECTION_SM_ROLE_SELECTION;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_SELECTION_SM_ROLE_SELECTION:
         HMAP_FOR_EACH (p, node, &r->ports) {
             if (p->reselect) {
@@ -465,7 +465,7 @@ port_role_selection_sm(struct rstp *r)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != r->port_role_selection_sm_state) {
         r->changes = true;
@@ -495,7 +495,7 @@ updt_bpdu_version(struct rstp_port *p)  /* [17.21.22] */
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
 }
 
@@ -521,7 +521,7 @@ port_receive_sm(struct rstp_port *p)
         p->rcvd_msg = false;
         p->edge_delay_while = r->migrate_time;
         p->port_receive_sm_state = PORT_RECEIVE_SM_DISCARD;
-        /* no break */
+        /* fall through */
     case PORT_RECEIVE_SM_DISCARD:
         if ((p->rcvd_bpdu || (p->edge_delay_while != r->migrate_time))
             && !p->port_enabled) {
@@ -537,7 +537,7 @@ port_receive_sm(struct rstp_port *p)
         p->rcvd_msg = true;
         p->edge_delay_while = r->migrate_time;
         p->port_receive_sm_state = PORT_RECEIVE_SM_RECEIVE;
-        /* no break */
+        /* fall through */
     case PORT_RECEIVE_SM_RECEIVE:
         if ((p->rcvd_bpdu || (p->edge_delay_while != r->migrate_time))
             && !p->port_enabled) {
@@ -549,7 +549,7 @@ port_receive_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_receive_sm_state) {
         r->changes = true;
@@ -574,14 +574,14 @@ port_protocol_migration_sm(struct rstp_port *p)
     case PORT_PROTOCOL_MIGRATION_SM_INIT:
         p->port_protocol_migration_sm_state =
             PORT_PROTOCOL_MIGRATION_SM_CHECKING_RSTP_EXEC;
-        /* no break */
+        /* fall through */
     case PORT_PROTOCOL_MIGRATION_SM_CHECKING_RSTP_EXEC:
         p->mcheck = false;
         p->send_rstp = r->rstp_version;
         p->mdelay_while = r->migrate_time;
         p->port_protocol_migration_sm_state =
             PORT_PROTOCOL_MIGRATION_SM_CHECKING_RSTP;
-        /* no break */
+        /* fall through */
     case PORT_PROTOCOL_MIGRATION_SM_CHECKING_RSTP:
         if (p->mdelay_while == 0) {
             p->port_protocol_migration_sm_state =
@@ -596,7 +596,7 @@ port_protocol_migration_sm(struct rstp_port *p)
         p->mdelay_while = r->migrate_time;
         p->port_protocol_migration_sm_state =
             PORT_PROTOCOL_MIGRATION_SM_SELECTING_STP;
-        /* no break */
+        /* fall through */
     case PORT_PROTOCOL_MIGRATION_SM_SELECTING_STP:
         if ((p->mdelay_while == 0) || (!p->port_enabled) || p->mcheck) {
             p->port_protocol_migration_sm_state =
@@ -608,7 +608,7 @@ port_protocol_migration_sm(struct rstp_port *p)
         p->rcvd_stp = false;
         p->port_protocol_migration_sm_state =
             PORT_PROTOCOL_MIGRATION_SM_SENSING;
-        /* no break */
+        /* fall through */
     case PORT_PROTOCOL_MIGRATION_SM_SENSING:
         if (!p->port_enabled || p->mcheck || ((r->rstp_version) &&
                                               !p->send_rstp && p->rcvd_rstp)) {
@@ -621,7 +621,7 @@ port_protocol_migration_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_protocol_migration_sm_state) {
         r->changes = true;
@@ -655,7 +655,7 @@ bridge_detection_sm(struct rstp_port *p)
     case BRIDGE_DETECTION_SM_EDGE_EXEC:
         p->oper_edge = true;
         p->bridge_detection_sm_state = BRIDGE_DETECTION_SM_EDGE;
-        /* no break */
+        /* fall through */
     case BRIDGE_DETECTION_SM_EDGE:
         if ((!p->port_enabled && !p->admin_edge) || !p->oper_edge) {
             p->bridge_detection_sm_state = BRIDGE_DETECTION_SM_NOT_EDGE_EXEC;
@@ -664,7 +664,7 @@ bridge_detection_sm(struct rstp_port *p)
     case BRIDGE_DETECTION_SM_NOT_EDGE_EXEC:
         p->oper_edge = false;
         p->bridge_detection_sm_state = BRIDGE_DETECTION_SM_NOT_EDGE;
-        /* no break */
+        /* fall through */
     case BRIDGE_DETECTION_SM_NOT_EDGE:
         if ((!p->port_enabled && p->admin_edge)
             || ((p->edge_delay_while == 0) && p->auto_edge && p->send_rstp
@@ -674,7 +674,7 @@ bridge_detection_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->bridge_detection_sm_state) {
         r->changes = true;
@@ -954,7 +954,7 @@ port_transmit_sm(struct rstp_port *p)
         p->new_info = true;
         p->tx_count = 0;
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_TRANSMIT_INIT;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_TRANSMIT_INIT:
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE_EXEC;
         break;
@@ -962,14 +962,14 @@ port_transmit_sm(struct rstp_port *p)
         p->new_info = p->new_info || (p->role == ROLE_DESIGNATED ||
                       (p->role == ROLE_ROOT && p->tc_while != 0));
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_TRANSMIT_PERIODIC;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_TRANSMIT_PERIODIC:
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE_EXEC;
         break;
     case PORT_TRANSMIT_SM_IDLE_EXEC:
         p->hello_when = r->bridge_hello_time;
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_IDLE:
         if (p->role == ROLE_DISABLED) {
             VLOG_DBG("%s, port %u: port_transmit_sm ROLE == DISABLED.",
@@ -998,7 +998,7 @@ port_transmit_sm(struct rstp_port *p)
         p->tx_count += 1;
         p->tc_ack = false;
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_TRANSMIT_CONFIG;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_TRANSMIT_CONFIG:
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE_EXEC;
         break;
@@ -1007,7 +1007,7 @@ port_transmit_sm(struct rstp_port *p)
         tx_tcn(p);
         p->tx_count += 1;
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_TRANSMIT_TCN;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_TRANSMIT_TCN:
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE_EXEC;
         break;
@@ -1017,13 +1017,13 @@ port_transmit_sm(struct rstp_port *p)
         p->tx_count += 1;
         p->tc_ack = false;
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_TRANSMIT_RSTP;
-        /* no break */
+        /* fall through */
     case PORT_TRANSMIT_SM_TRANSMIT_RSTP:
         p->port_transmit_sm_state = PORT_TRANSMIT_SM_IDLE_EXEC;
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_transmit_sm_state) {
         r->changes = true;
@@ -1159,7 +1159,7 @@ port_information_sm(struct rstp_port *p)
         p->reselect = true;
         p->selected = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_DISABLED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_DISABLED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1175,7 +1175,7 @@ port_information_sm(struct rstp_port *p)
         p->reselect = true;
         p->selected = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_AGED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_AGED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1202,7 +1202,7 @@ port_information_sm(struct rstp_port *p)
         p->info_is = INFO_IS_MINE;
         p->new_info = true;
         p->port_information_sm_state = PORT_INFORMATION_SM_UPDATE;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_UPDATE:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1213,7 +1213,7 @@ port_information_sm(struct rstp_port *p)
         break;
     case PORT_INFORMATION_SM_CURRENT_EXEC:
         p->port_information_sm_state = PORT_INFORMATION_SM_CURRENT;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_CURRENT:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1231,7 +1231,7 @@ port_information_sm(struct rstp_port *p)
     case PORT_INFORMATION_SM_RECEIVE_EXEC:
         p->rcvd_info = rcv_info(p);
         p->port_information_sm_state = PORT_INFORMATION_SM_RECEIVE;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_RECEIVE:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1272,14 +1272,14 @@ port_information_sm(struct rstp_port *p)
                 break;
             default:
                 OVS_NOT_REACHED();
-                /* no break */
+                /* fall through */
             }
         }
         break;
     case PORT_INFORMATION_SM_OTHER_EXEC:
         p->rcvd_msg = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_OTHER;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_OTHER:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1293,7 +1293,7 @@ port_information_sm(struct rstp_port *p)
         set_tc_flags(p);
         p->rcvd_msg = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_NOT_DESIGNATED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_NOT_DESIGNATED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1306,7 +1306,7 @@ port_information_sm(struct rstp_port *p)
         record_dispute(p);
         p->rcvd_msg = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_INFERIOR_DESIGNATED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_INFERIOR_DESIGNATED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1324,7 +1324,7 @@ port_information_sm(struct rstp_port *p)
         updt_rcvd_info_while(p);
         p->rcvd_msg = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_REPEATED_DESIGNATED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_REPEATED_DESIGNATED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1351,7 +1351,7 @@ port_information_sm(struct rstp_port *p)
         p->selected = false;
         p->rcvd_msg = false;
         p->port_information_sm_state = PORT_INFORMATION_SM_SUPERIOR_DESIGNATED;
-        /* no break */
+        /* fall through */
     case PORT_INFORMATION_SM_SUPERIOR_DESIGNATED:
         if (!p->port_enabled && p->info_is != INFO_IS_DISABLED) {
             /* Global transition. */
@@ -1362,7 +1362,7 @@ port_information_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_information_sm_state) {
         r->changes = true;
@@ -1541,7 +1541,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->learn = p->forward = false;
         p->port_role_transition_sm_state =
             PORT_ROLE_TRANSITION_SM_DISABLE_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_DISABLE_PORT:
         if (check_selected_role_change(p, ROLE_DISABLED)) {
             /* Global transition. */
@@ -1558,7 +1558,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->sync = p->re_root = false;
         p->port_role_transition_sm_state =
             PORT_ROLE_TRANSITION_SM_DISABLED_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_DISABLED_PORT:
         if (check_selected_role_change(p, ROLE_DISABLED)) {
             /* Global transition. */
@@ -1573,7 +1573,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->role = ROLE_ROOT;
         p->rr_while = p->designated_times.forward_delay;
         p->port_role_transition_sm_state = PORT_ROLE_TRANSITION_SM_ROOT_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_ROOT_PORT:
         if (check_selected_role_change(p, ROLE_ROOT)) {
             /* Global transition. */
@@ -1676,7 +1676,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->role = ROLE_DESIGNATED;
         p->port_role_transition_sm_state =
             PORT_ROLE_TRANSITION_SM_DESIGNATED_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_DESIGNATED_PORT:
         if (check_selected_role_change(p, ROLE_DESIGNATED)) {
             /* Global transition. */
@@ -1781,7 +1781,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->sync = p->re_root = false;
         p->port_role_transition_sm_state =
             PORT_ROLE_TRANSITION_SM_ALTERNATE_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_ALTERNATE_PORT:
         if (check_selected_role_change(p, ROLE_ALTERNATE)) {
             /* Global transition. */
@@ -1829,7 +1829,7 @@ port_role_transition_sm(struct rstp_port *p)
         p->role = p->selected_role;
         p->learn = p->forward = false;
         p->port_role_transition_sm_state = PORT_ROLE_TRANSITION_SM_BLOCK_PORT;
-        /* no break */
+        /* fall through */
     case PORT_ROLE_TRANSITION_SM_BLOCK_PORT:
         if (check_selected_role_change(p, ROLE_ALTERNATE)) {
             /* Global transition. */
@@ -1850,7 +1850,7 @@ port_role_transition_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_role_transition_sm_state) {
         r->changes = true;
@@ -1940,7 +1940,7 @@ port_state_transition_sm(struct rstp_port *p)
         p->forwarding = false;
         p->port_state_transition_sm_state =
             PORT_STATE_TRANSITION_SM_DISCARDING;
-        /* no break */
+        /* fall through */
     case PORT_STATE_TRANSITION_SM_DISCARDING:
         if (p->learn) {
             p->port_state_transition_sm_state =
@@ -1951,7 +1951,7 @@ port_state_transition_sm(struct rstp_port *p)
         enable_learning(p);
         p->learning = true;
         p->port_state_transition_sm_state = PORT_STATE_TRANSITION_SM_LEARNING;
-        /* no break */
+        /* fall through */
     case PORT_STATE_TRANSITION_SM_LEARNING:
         if (!p->learn) {
             p->port_state_transition_sm_state =
@@ -1966,7 +1966,7 @@ port_state_transition_sm(struct rstp_port *p)
         p->forwarding = true;
         p->port_state_transition_sm_state =
             PORT_STATE_TRANSITION_SM_FORWARDING;
-        /* no break */
+        /* fall through */
     case PORT_STATE_TRANSITION_SM_FORWARDING:
         if (!p->forward) {
             p->port_state_transition_sm_state =
@@ -1975,7 +1975,7 @@ port_state_transition_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->port_state_transition_sm_state) {
         r->changes = true;
@@ -2051,7 +2051,7 @@ topology_change_sm(struct rstp_port *p)
         p->tc_while = 0;
         p->tc_ack = false;
         p->topology_change_sm_state = TOPOLOGY_CHANGE_SM_INACTIVE;
-        /* no break */
+        /* fall through */
     case TOPOLOGY_CHANGE_SM_INACTIVE:
         if (p->learn && !p->fdb_flush) {
             p->topology_change_sm_state = TOPOLOGY_CHANGE_SM_LEARNING_EXEC;
@@ -2061,7 +2061,7 @@ topology_change_sm(struct rstp_port *p)
         p->rcvd_tc = p->rcvd_tcn = p->rcvd_tc_ack = false;
         p->tc_prop = p->rcvd_tc_ack = false;
         p->topology_change_sm_state = TOPOLOGY_CHANGE_SM_LEARNING;
-        /* no break */
+        /* fall through */
     case TOPOLOGY_CHANGE_SM_LEARNING:
         if (p->role != ROLE_ROOT && p->role != ROLE_DESIGNATED &&
             !(p->learn || p->learning) && !(p->rcvd_tc || p->rcvd_tcn ||
@@ -2079,10 +2079,10 @@ topology_change_sm(struct rstp_port *p)
         set_tc_prop_tree(p);
         p->new_info = true;
         p->topology_change_sm_state = TOPOLOGY_CHANGE_SM_ACTIVE_EXEC;
-        /* no break */
+        /* fall through */
     case TOPOLOGY_CHANGE_SM_ACTIVE_EXEC:
         p->topology_change_sm_state = TOPOLOGY_CHANGE_SM_ACTIVE;
-        /* no break */
+        /* fall through */
     case TOPOLOGY_CHANGE_SM_ACTIVE:
         if ((p->role != ROLE_ROOT && p->role != ROLE_DESIGNATED)
             || p->oper_edge) {
@@ -2122,7 +2122,7 @@ topology_change_sm(struct rstp_port *p)
         break;
     default:
         OVS_NOT_REACHED();
-        /* no break */
+        /* fall through */
     }
     if (old_state != p->topology_change_sm_state) {
         r->changes = true;
diff --git a/ofproto/bond.c b/ofproto/bond.c
index 21370b5f9..cb25a1df7 100644
--- a/ofproto/bond.c
+++ b/ofproto/bond.c
@@ -827,6 +827,7 @@ bond_check_admissibility(struct bond *bond, const void *slave_,
         if (!bond->lacp_fallback_ab) {
             goto out;
         }
+        /* fall through */
 
     case BM_AB:
         /* Drop all packets which arrive on backup slaves.  This is similar to
diff --git a/ovn/lib/lex.c b/ovn/lib/lex.c
index 4b504cba9..6f2b570f5 100644
--- a/ovn/lib/lex.c
+++ b/ovn/lib/lex.c
@@ -753,7 +753,8 @@ next:
             p++;
             break;
         }
-        /* IPv6 address beginning with "::".  Fall through. */
+        /* IPv6 address beginning with "::". */
+        /* fall through */
     case '0': case '1': case '2': case '3': case '4':
     case '5': case '6': case '7': case '8': case '9':
         p = lex_parse_integer(p, token);
diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c
index bea010ab1..0488318c4 100644
--- a/ovn/utilities/ovn-nbctl.c
+++ b/ovn/utilities/ovn-nbctl.c
@@ -268,9 +268,11 @@ parse_options(int argc, char *argv[], struct shash *local_options)
 
         case OPT_COMMANDS:
             ctl_print_commands();
+            /* fall through */
 
         case OPT_OPTIONS:
             ctl_print_options(global_long_options);
+            /* fall through */
 
         case 'V':
             ovs_print_version(0, 0);
diff --git a/ovn/utilities/ovn-sbctl.c b/ovn/utilities/ovn-sbctl.c
index fc9f8e5fd..5c3403266 100644
--- a/ovn/utilities/ovn-sbctl.c
+++ b/ovn/utilities/ovn-sbctl.c
@@ -246,9 +246,11 @@ parse_options(int argc, char *argv[], struct shash *local_options)
 
         case OPT_COMMANDS:
             ctl_print_commands();
+            /* fall through */
 
         case OPT_OPTIONS:
             ctl_print_options(global_long_options);
+            /* fall through */
 
         case 'V':
             ovs_print_version(0, 0);
diff --git a/tests/test-ovn.c b/tests/test-ovn.c
index e2c61d2b2..ca27a0f5a 100644
--- a/tests/test-ovn.c
+++ b/tests/test-ovn.c
@@ -1489,6 +1489,7 @@ test_ovn_main(int argc, char *argv[])
 
         case 'h':
             usage();
+            /* fall through */
 
         case '?':
             exit(1);
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index 28c1c4457..992c0dd13 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -295,9 +295,11 @@ parse_options(int argc, char *argv[], struct shash *local_options)
 
         case OPT_COMMANDS:
             ctl_print_commands();
+            /* fall through */
 
         case OPT_OPTIONS:
             ctl_print_options(global_long_options);
+            /* fall through */
 
         case 'V':
             ovs_print_version(0, 0);
