]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ice: cleanup vf_id signedness
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Fri, 8 May 2020 00:41:06 +0000 (17:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jun 2020 07:32:46 +0000 (09:32 +0200)
[ Upstream commit 53bb66983f34d4ff0af179fe228e2c55e1e45921 ]

The vf_id variable is dealt with in the code in inconsistent
ways of sign usage, preventing compilation with -Werror=sign-compare.
Fix this problem in the code by always treating vf_id as unsigned, since
there are no valid values of vf_id that are negative.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h

index 5c11448bfbb35656dffb8b3a0c58af01fc0ade9a..020ee167f73ac98e097a955a5db7ebafff73236e 100644 (file)
@@ -366,7 +366,7 @@ struct ice_pf {
        struct ice_sw *first_sw;        /* first switch created by firmware */
        /* Virtchnl/SR-IOV config info */
        struct ice_vf *vf;
-       int num_alloc_vfs;              /* actual number of VFs allocated */
+       u16 num_alloc_vfs;              /* actual number of VFs allocated */
        u16 num_vfs_supported;          /* num VFs supported for this PF */
        u16 num_qps_per_vf;
        u16 num_msix_per_vf;
index 15191a325918a5db2d40f31c3d4430f28bc01016..c9c2811678734f99792e09973a540618bd1187fe 100644 (file)
  * @pf: pointer to the PF structure
  * @vf_id: the ID of the VF to check
  */
-static int ice_validate_vf_id(struct ice_pf *pf, int vf_id)
+static int ice_validate_vf_id(struct ice_pf *pf, u16 vf_id)
 {
+       /* vf_id range is only valid for 0-255, and should always be unsigned */
        if (vf_id >= pf->num_alloc_vfs) {
-               dev_err(ice_pf_to_dev(pf), "Invalid VF ID: %d\n", vf_id);
+               dev_err(ice_pf_to_dev(pf), "Invalid VF ID: %u\n", vf_id);
                return -EINVAL;
        }
        return 0;
@@ -27,7 +28,7 @@ static int ice_validate_vf_id(struct ice_pf *pf, int vf_id)
 static int ice_check_vf_init(struct ice_pf *pf, struct ice_vf *vf)
 {
        if (!test_bit(ICE_VF_STATE_INIT, vf->vf_states)) {
-               dev_err(ice_pf_to_dev(pf), "VF ID: %d in reset. Try again.\n",
+               dev_err(ice_pf_to_dev(pf), "VF ID: %u in reset. Try again.\n",
                        vf->vf_id);
                return -EBUSY;
        }
@@ -337,7 +338,7 @@ void ice_free_vfs(struct ice_pf *pf)
         * before this function ever gets called.
         */
        if (!pci_vfs_assigned(pf->pdev)) {
-               int vf_id;
+               unsigned int vf_id;
 
                /* Acknowledge VFLR for all VFs. Without this, VFs will fail to
                 * work correctly when SR-IOV gets re-enabled.
@@ -368,9 +369,9 @@ static void ice_trigger_vf_reset(struct ice_vf *vf, bool is_vflr, bool is_pfr)
 {
        struct ice_pf *pf = vf->pf;
        u32 reg, reg_idx, bit_idx;
+       unsigned int vf_abs_id, i;
        struct device *dev;
        struct ice_hw *hw;
-       int vf_abs_id, i;
 
        dev = ice_pf_to_dev(pf);
        hw = &pf->hw;
@@ -418,7 +419,7 @@ static void ice_trigger_vf_reset(struct ice_vf *vf, bool is_vflr, bool is_pfr)
                if ((reg & VF_TRANS_PENDING_M) == 0)
                        break;
 
-               dev_err(dev, "VF %d PCI transactions stuck\n", vf->vf_id);
+               dev_err(dev, "VF %u PCI transactions stuck\n", vf->vf_id);
                udelay(ICE_PCI_CIAD_WAIT_DELAY_US);
        }
 }
@@ -1483,7 +1484,7 @@ int ice_sriov_configure(struct pci_dev *pdev, int num_vfs)
 void ice_process_vflr_event(struct ice_pf *pf)
 {
        struct ice_hw *hw = &pf->hw;
-       int vf_id;
+       unsigned int vf_id;
        u32 reg;
 
        if (!test_and_clear_bit(__ICE_VFLR_EVENT_PENDING, pf->state) ||
@@ -1524,7 +1525,7 @@ static void ice_vc_reset_vf(struct ice_vf *vf)
  */
 static struct ice_vf *ice_get_vf_from_pfq(struct ice_pf *pf, u16 pfq)
 {
-       int vf_id;
+       unsigned int vf_id;
 
        ice_for_each_vf(pf, vf_id) {
                struct ice_vf *vf = &pf->vf[vf_id];
index 3f9464269bd289b4e298df998bb84c127e939fb4..62875704cecf485de5fde95d9b6939ee39cd12eb 100644 (file)
@@ -64,7 +64,7 @@ struct ice_mdd_vf_events {
 struct ice_vf {
        struct ice_pf *pf;
 
-       s16 vf_id;                      /* VF ID in the PF space */
+       u16 vf_id;                      /* VF ID in the PF space */
        u16 lan_vsi_idx;                /* index into PF struct */
        /* first vector index of this VF in the PF space */
        int first_vector_idx;