break;
        default:
                bpf_warn_invalid_xdp_action(xdp_act);
-               /* fall through */
+               fallthrough;
        case XDP_ABORTED:
                trace_xdp_exception(priv->net_dev, xdp_prog, xdp_act);
-               /* fall through */
+               fallthrough;
        case XDP_DROP:
 -              xdp_release_buf(priv, ch, addr);
 +              dpaa2_eth_xdp_release_buf(priv, ch, addr);
                ch->stats.xdp_drop++;
                break;
        case XDP_REDIRECT:
 
  static int reset_rx_pools(struct ibmvnic_adapter *adapter)
  {
        struct ibmvnic_rx_pool *rx_pool;
 +      u64 buff_size;
        int rx_scrqs;
        int i, j, rc;
 -      u64 *size_array;
  
 -      size_array = (u64 *)((u8 *)(adapter->login_rsp_buf) +
 -              be32_to_cpu(adapter->login_rsp_buf->off_rxadd_buff_size));
 -
 -      rx_scrqs = be32_to_cpu(adapter->login_rsp_buf->num_rxadd_subcrqs);
+       if (!adapter->rx_pool)
+               return -1;
+ 
 +      buff_size = adapter->cur_rx_buf_sz;
 +      rx_scrqs = adapter->num_active_rx_pools;
        for (i = 0; i < rx_scrqs; i++) {
                rx_pool = &adapter->rx_pool[i];
  
        int tx_scrqs;
        int i, rc;
  
 -      tx_scrqs = be32_to_cpu(adapter->login_rsp_buf->num_txsubm_subcrqs);
+       if (!adapter->tx_pool)
+               return -1;
+ 
 +      tx_scrqs = adapter->num_active_tx_pools;
        for (i = 0; i < tx_scrqs; i++) {
                rc = reset_one_tx_pool(adapter, &adapter->tso_pool[i]);
                if (rc)