1. 25 6月, 2021 6 次提交
  2. 15 4月, 2021 3 次提交
  3. 14 4月, 2021 3 次提交
  4. 13 4月, 2021 2 次提交
  5. 06 4月, 2021 1 次提交
  6. 06 3月, 2021 1 次提交
    • J
      ibmvnic: remove excessive irqsave · 69cdb794
      Junlin Yang 提交于
      ibmvnic_remove locks multiple spinlocks while disabling interrupts:
      spin_lock_irqsave(&adapter->state_lock, flags);
      spin_lock_irqsave(&adapter->rwi_lock, flags);
      
      As reported by coccinelle, the second _irqsave() overwrites the value
      saved in 'flags' by the first _irqsave(),   therefore when the second
      _irqrestore() comes,the value in 'flags' is not valid,the value saved
      by the first _irqsave() has been lost.
      This likely leads to IRQs remaining disabled. So remove the second
      _irqsave():
      spin_lock_irqsave(&adapter->state_lock, flags);
      spin_lock(&adapter->rwi_lock);
      
      Generated by: ./scripts/coccinelle/locks/flags.cocci
      ./drivers/net/ethernet/ibm/ibmvnic.c:5413:1-18:
      ERROR: nested lock+irqsave that reuses flags from line 5404.
      
      Fixes: 4a41c421 ("ibmvnic: serialize access to work queue on remove")
      Signed-off-by: NJunlin Yang <yangjunlin@yulong.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      69cdb794
  7. 05 3月, 2021 1 次提交
    • J
      ibmvnic: always store valid MAC address · 67eb2114
      Jiri Wiesner 提交于
      The last change to ibmvnic_set_mac(), 8fc3672a, meant to prevent
      users from setting an invalid MAC address on an ibmvnic interface
      that has not been brought up yet. The change also prevented the
      requested MAC address from being stored by the adapter object for an
      ibmvnic interface when the state of the ibmvnic interface is
      VNIC_PROBED - that is after probing has finished but before the
      ibmvnic interface is brought up. The MAC address stored by the
      adapter object is used and sent to the hypervisor for checking when
      an ibmvnic interface is brought up.
      
      The ibmvnic driver ignoring the requested MAC address when in
      VNIC_PROBED state caused LACP bonds (bonds in 802.3ad mode) with more
      than one slave to malfunction. The bonding code must be able to
      change the MAC address of its slaves before they are brought up
      during enslaving. The inability of kernels with 8fc3672a to set
      the MAC addresses of bonding slaves is observable in the output of
      "ip address show". The MAC addresses of the slaves are the same as
      the MAC address of the bond on a working system whereas the slaves
      retain their original MAC addresses on a system with a malfunctioning
      LACP bond.
      
      Fixes: 8fc3672a ("ibmvnic: fix ibmvnic_set_mac")
      Signed-off-by: NJiri Wiesner <jwiesner@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      67eb2114
  8. 04 3月, 2021 1 次提交
  9. 02 3月, 2021 1 次提交
  10. 25 2月, 2021 1 次提交
    • S
      ibmvnic: fix a race between open and reset · 8f1c0fd2
      Sukadev Bhattiprolu 提交于
      __ibmvnic_reset() currently reads the adapter->state before getting the
      rtnl and saves that state as the "target state" for the reset. If this
      read occurs when adapter is in PROBED state, the target state would be
      PROBED.
      
      Just after the target state is saved, and before the actual reset process
      is started (i.e before rtnl is acquired) if we get an ibmvnic_open() call
      we would move the adapter to OPEN state.
      
      But when the reset is processed (after ibmvnic_open()) drops the rtnl),
      it will leave the adapter in PROBED state even though we already moved
      it to OPEN.
      
      To fix this, use the RTNL to improve serialization when reading/updating
      the adapter state. i.e determine the target state of a reset only after
      getting the RTNL. And if a reset is in progress during an open, simply
      set the target state of the adapter and let the reset code finish the
      open (like we currently do if failover is pending).
      
      One twist to this serialization is if the adapter state changes when we
      drop the RTNL to update the link state. Account for this by checking if
      there was an intervening open and update the target state for the reset
      accordingly (see new comments in the code). Note that only the reset
      functions and ibmvnic_open() can set the adapter to OPEN state and this
      must happen under rtnl.
      
      Fixes: 7d7195a0 ("ibmvnic: Do not process device remove during device reset")
      Signed-off-by: NSukadev Bhattiprolu <sukadev@linux.ibm.com>
      Reviewed-by: NDany Madden <drt@linux.ibm.com>
      Link: https://lore.kernel.org/r/20210224050229.1155468-1-sukadev@linux.ibm.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      8f1c0fd2
  11. 17 2月, 2021 1 次提交
  12. 16 2月, 2021 5 次提交
  13. 12 2月, 2021 8 次提交
  14. 07 2月, 2021 1 次提交
  15. 02 2月, 2021 3 次提交
  16. 28 1月, 2021 1 次提交
  17. 17 1月, 2021 1 次提交
    • L
      net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours · 80708602
      Lee Jones 提交于
      Fixes the following W=1 kernel build warning(s):
      
       from drivers/net/ethernet/ibm/ibmvnic.c:35:
       inlined from ‘handle_vpd_rsp’ at drivers/net/ethernet/ibm/ibmvnic.c:4124:3:
       drivers/net/ethernet/ibm/ibmvnic.c:1362: warning: Function parameter or member 'hdr_field' not described in 'build_hdr_data'
       drivers/net/ethernet/ibm/ibmvnic.c:1362: warning: Function parameter or member 'skb' not described in 'build_hdr_data'
       drivers/net/ethernet/ibm/ibmvnic.c:1362: warning: Function parameter or member 'hdr_len' not described in 'build_hdr_data'
       drivers/net/ethernet/ibm/ibmvnic.c:1362: warning: Function parameter or member 'hdr_data' not described in 'build_hdr_data'
       drivers/net/ethernet/ibm/ibmvnic.c:1423: warning: Function parameter or member 'hdr_field' not described in 'create_hdr_descs'
       drivers/net/ethernet/ibm/ibmvnic.c:1423: warning: Function parameter or member 'hdr_data' not described in 'create_hdr_descs'
       drivers/net/ethernet/ibm/ibmvnic.c:1423: warning: Function parameter or member 'len' not described in 'create_hdr_descs'
       drivers/net/ethernet/ibm/ibmvnic.c:1423: warning: Function parameter or member 'hdr_len' not described in 'create_hdr_descs'
       drivers/net/ethernet/ibm/ibmvnic.c:1423: warning: Function parameter or member 'scrq_arr' not described in 'create_hdr_descs'
       drivers/net/ethernet/ibm/ibmvnic.c:1474: warning: Function parameter or member 'txbuff' not described in 'build_hdr_descs_arr'
       drivers/net/ethernet/ibm/ibmvnic.c:1474: warning: Function parameter or member 'num_entries' not described in 'build_hdr_descs_arr'
       drivers/net/ethernet/ibm/ibmvnic.c:1474: warning: Function parameter or member 'hdr_field' not described in 'build_hdr_descs_arr'
       drivers/net/ethernet/ibm/ibmvnic.c:1832: warning: Function parameter or member 'adapter' not described in 'do_change_param_reset'
       drivers/net/ethernet/ibm/ibmvnic.c:1832: warning: Function parameter or member 'rwi' not described in 'do_change_param_reset'
       drivers/net/ethernet/ibm/ibmvnic.c:1832: warning: Function parameter or member 'reset_state' not described in 'do_change_param_reset'
       drivers/net/ethernet/ibm/ibmvnic.c:1911: warning: Function parameter or member 'adapter' not described in 'do_reset'
       drivers/net/ethernet/ibm/ibmvnic.c:1911: warning: Function parameter or member 'rwi' not described in 'do_reset'
       drivers/net/ethernet/ibm/ibmvnic.c:1911: warning: Function parameter or member 'reset_state' not described in 'do_reset'
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      80708602