ab->target_pdev_ids[ab->target_pdev_count].pdev_id = mac_phy_caps->pdev_id;
        ab->target_pdev_count++;
 
+       if (!(mac_phy_caps->supported_bands & WMI_HOST_WLAN_2G_CAP) &&
+           !(mac_phy_caps->supported_bands & WMI_HOST_WLAN_5G_CAP))
+               return -EINVAL;
+
        /* Take non-zero tx/rx chainmask. If tx/rx chainmask differs from
         * band to band for a single radio, need to see how this should be
         * handled.
        if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_2G_CAP) {
                pdev_cap->tx_chain_mask = mac_phy_caps->tx_chain_mask_2g;
                pdev_cap->rx_chain_mask = mac_phy_caps->rx_chain_mask_2g;
-       } else if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_5G_CAP) {
+       }
+
+       if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_5G_CAP) {
                pdev_cap->vht_cap = mac_phy_caps->vht_cap_info_5g;
                pdev_cap->vht_mcs = mac_phy_caps->vht_supp_mcs_5g;
                pdev_cap->he_mcs = mac_phy_caps->he_supp_mcs_5g;
                        WMI_NSS_RATIO_ENABLE_DISABLE_GET(mac_phy_caps->nss_ratio);
                pdev_cap->nss_ratio_info =
                        WMI_NSS_RATIO_INFO_GET(mac_phy_caps->nss_ratio);
-       } else {
-               return -EINVAL;
        }
 
        /* tx/rx chainmask reported from fw depends on the actual hw chains used,