Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue
Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2018-05-11 This series contains fixes to the ice, ixgbe and ixgbevf drivers. Jeff Shaw provides a fix to ensure rq_last_status gets set, whether or not the hardware responds with an error in the ice driver. Emil adds a check for unsupported module during the reset routine for ixgbe. Luc Van Oostenryck fixes ixgbevf_xmit_frame() where it was not using the correct return value (int). Colin Ian King fixes a potential resource leak in ixgbe, where we were not freeing ipsec in our cleanup path. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
f4d641a228
|
@ -1014,10 +1014,10 @@ ice_clean_rq_elem(struct ice_hw *hw, struct ice_ctl_q_info *cq,
|
||||||
desc = ICE_CTL_Q_DESC(cq->rq, ntc);
|
desc = ICE_CTL_Q_DESC(cq->rq, ntc);
|
||||||
desc_idx = ntc;
|
desc_idx = ntc;
|
||||||
|
|
||||||
|
cq->rq_last_status = (enum ice_aq_err)le16_to_cpu(desc->retval);
|
||||||
flags = le16_to_cpu(desc->flags);
|
flags = le16_to_cpu(desc->flags);
|
||||||
if (flags & ICE_AQ_FLAG_ERR) {
|
if (flags & ICE_AQ_FLAG_ERR) {
|
||||||
ret_code = ICE_ERR_AQ_ERROR;
|
ret_code = ICE_ERR_AQ_ERROR;
|
||||||
cq->rq_last_status = (enum ice_aq_err)le16_to_cpu(desc->retval);
|
|
||||||
ice_debug(hw, ICE_DBG_AQ_MSG,
|
ice_debug(hw, ICE_DBG_AQ_MSG,
|
||||||
"Control Receive Queue Event received with error 0x%x\n",
|
"Control Receive Queue Event received with error 0x%x\n",
|
||||||
cq->rq_last_status);
|
cq->rq_last_status);
|
||||||
|
|
|
@ -943,8 +943,8 @@ err2:
|
||||||
kfree(ipsec->ip_tbl);
|
kfree(ipsec->ip_tbl);
|
||||||
kfree(ipsec->rx_tbl);
|
kfree(ipsec->rx_tbl);
|
||||||
kfree(ipsec->tx_tbl);
|
kfree(ipsec->tx_tbl);
|
||||||
|
kfree(ipsec);
|
||||||
err1:
|
err1:
|
||||||
kfree(adapter->ipsec);
|
|
||||||
netdev_err(adapter->netdev, "Unable to allocate memory for SA tables");
|
netdev_err(adapter->netdev, "Unable to allocate memory for SA tables");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3427,6 +3427,9 @@ static s32 ixgbe_reset_hw_X550em(struct ixgbe_hw *hw)
|
||||||
hw->phy.sfp_setup_needed = false;
|
hw->phy.sfp_setup_needed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
|
||||||
|
return status;
|
||||||
|
|
||||||
/* Reset PHY */
|
/* Reset PHY */
|
||||||
if (!hw->phy.reset_disable && hw->phy.ops.reset)
|
if (!hw->phy.reset_disable && hw->phy.ops.reset)
|
||||||
hw->phy.ops.reset(hw);
|
hw->phy.ops.reset(hw);
|
||||||
|
|
|
@ -4137,7 +4137,7 @@ out_drop:
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
static netdev_tx_t ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
|
||||||
{
|
{
|
||||||
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
|
struct ixgbevf_adapter *adapter = netdev_priv(netdev);
|
||||||
struct ixgbevf_ring *tx_ring;
|
struct ixgbevf_ring *tx_ring;
|
||||||
|
|
Loading…
Reference in New Issue