Merge branch 'qlcnic'
Shahed Shaikh says:
====================
qlcnic: Bug fixes
This patch series includes following bug fixes,
* Fix for return value handling of function qlcnic_enable_msi_legacy().
* Fix for the usage of module parameters for interrupt mode.
Driver should use flags while checking for driver's interrupt mode instead of
module parameters.
* Revert commit 1414abea04
(qlcnic: Restrict VF from configuring any VLAN mode),
in order to save some multicast filters.
* Fix a bug where driver was not re-setting sds ring count to 1 when
it falls back from MSI-x mode to legacy interrupt mode.
Please apply to net.
Change in v2 -
Dropped patch "qlcnic: reset firmware API lock during driver load" for further rework.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
e88570f803
|
@ -340,6 +340,7 @@ int qlcnic_83xx_setup_intr(struct qlcnic_adapter *adapter)
|
|||
if (qlcnic_sriov_vf_check(adapter))
|
||||
return -EINVAL;
|
||||
num_msix = 1;
|
||||
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
|
||||
adapter->drv_tx_rings = QLCNIC_SINGLE_RING;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -816,9 +816,10 @@ static int qlcnic_82xx_setup_intr(struct qlcnic_adapter *adapter)
|
|||
|
||||
if (!(adapter->flags & QLCNIC_MSIX_ENABLED)) {
|
||||
qlcnic_disable_multi_tx(adapter);
|
||||
adapter->drv_sds_rings = QLCNIC_SINGLE_RING;
|
||||
|
||||
err = qlcnic_enable_msi_legacy(adapter);
|
||||
if (!err)
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -3863,7 +3864,7 @@ int qlcnic_validate_rings(struct qlcnic_adapter *adapter, __u32 ring_cnt,
|
|||
strcpy(buf, "Tx");
|
||||
}
|
||||
|
||||
if (!qlcnic_use_msi_x && !qlcnic_use_msi) {
|
||||
if (!QLCNIC_IS_MSI_FAMILY(adapter)) {
|
||||
netdev_err(netdev, "No RSS/TSS support in INT-x mode\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
#define QLC_VF_MIN_TX_RATE 100
|
||||
#define QLC_VF_MAX_TX_RATE 9999
|
||||
#define QLC_MAC_OPCODE_MASK 0x7
|
||||
#define QLC_MAC_STAR_ADD 6
|
||||
#define QLC_MAC_STAR_DEL 7
|
||||
#define QLC_VF_FLOOD_BIT BIT_16
|
||||
#define QLC_FLOOD_MODE 0x5
|
||||
|
||||
|
@ -1206,13 +1204,6 @@ static int qlcnic_sriov_validate_cfg_macvlan(struct qlcnic_adapter *adapter,
|
|||
struct qlcnic_vport *vp = vf->vp;
|
||||
u8 op, new_op;
|
||||
|
||||
if (((cmd->req.arg[1] & QLC_MAC_OPCODE_MASK) == QLC_MAC_STAR_ADD) ||
|
||||
((cmd->req.arg[1] & QLC_MAC_OPCODE_MASK) == QLC_MAC_STAR_DEL)) {
|
||||
netdev_err(adapter->netdev, "MAC + any VLAN filter not allowed from VF %d\n",
|
||||
vf->pci_func);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!(cmd->req.arg[1] & BIT_8))
|
||||
return -EINVAL;
|
||||
|
||||
|
|
Loading…
Reference in New Issue