/* Ensure we have media as we cannot configure a medialess port */
        if (!(phy->link_info.link_info & ICE_AQ_MEDIA_AVAILABLE))
-               return -EPERM;
+               return -ENOMEDIUM;
 
        ice_print_topo_conflict(vsi);
 
                int link_err = ice_force_phys_link_state(vsi, false);
 
                if (link_err) {
-                       netdev_err(vsi->netdev, "Failed to set physical link down, VSI %d error %d\n",
-                                  vsi->vsi_num, link_err);
+                       if (link_err == -ENOMEDIUM)
+                               netdev_info(vsi->netdev, "Skipping link reconfig - no media attached, VSI %d\n",
+                                           vsi->vsi_num);
+                       else
+                               netdev_err(vsi->netdev, "Failed to set physical link down, VSI %d error %d\n",
+                                          vsi->vsi_num, link_err);
                        return -EIO;
                }
        }