Skip to content
  1. Jan 10, 2020
  2. Jan 09, 2020
    • Rodrigo Rivas Costa's avatar
      HID: steam: Fix input device disappearing · 20eee6e5
      Rodrigo Rivas Costa authored
      
      
      The `connected` value for wired devices was not properly initialized,
      it must be set to `true` upon creation, because wired devices do not
      generate connection events.
      
      When a raw client (the Steam Client) uses the device, the input device
      is destroyed. Then, when the raw client finishes, it must be recreated.
      But since the `connected` variable was false this never happended.
      
      Signed-off-by: default avatarRodrigo Rivas Costa <rodrigorivascosta@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      20eee6e5
    • yuehaibing's avatar
      vmxnet3: Remove always false conditional statement · 4a4a52d4
      yuehaibing authored
      
      
      param->rx_mini_pending is __u32 variable, it will never
      be less than zero.
      
      Signed-off-by: default avataryuehaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a4a52d4
    • Arnd Bergmann's avatar
      netronome: fix ipv6 link error · ea217e87
      Arnd Bergmann authored
      
      
      When the driver is built-in but ipv6 is a module, the flower
      support produces a link error:
      
      drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.o: In function `nfp_tunnel_keep_alive_v6':
      tunnel_conf.c:(.text+0x2aa8): undefined reference to `nd_tbl'
      
      Add a Kconfig dependency to avoid that configuration.
      
      Fixes: 9ea9bfa1 ("nfp: flower: support ipv6 tunnel keep-alive messages from fw")
      Acked-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ea217e87
    • Arnd Bergmann's avatar
      net: dsa: felix: fix link error · 112463dd
      Arnd Bergmann authored
      
      
      When the enetc driver is disabled, the mdio support fails to
      get built:
      
      drivers/net/dsa/ocelot/felix_vsc9959.o: In function `vsc9959_mdio_bus_alloc':
      felix_vsc9959.c:(.text+0x19c): undefined reference to `enetc_hw_alloc'
      felix_vsc9959.c:(.text+0x1d1): undefined reference to `enetc_mdio_read'
      felix_vsc9959.c:(.text+0x1d8): undefined reference to `enetc_mdio_write'
      
      Change the Makefile to enter the subdirectory for this as well.
      
      Fixes: bdeced75 ("net: dsa: felix: Add PCS operations for PHYLINK")
      Fixes: 6517798d ("enetc: Make MDIO accessors more generic and export to include/linux/fsl")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      112463dd
    • Heiner Kallweit's avatar
      r8169: add constant EnAnaPLL · 09e65335
      Heiner Kallweit authored
      
      
      Use constant EnAnaPLL for bit 14 as in vendor driver. The vendor
      driver sets this bit for chip version 02 only, but I'm not aware of
      any issues, so better leave it as it is.
      In addition remove the useless debug message.
      
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      09e65335
    • Dan Carpenter's avatar
      ethtool: potential NULL dereference in strset_prepare_data() · ac9c41d5
      Dan Carpenter authored
      
      
      Smatch complains that the NULL checking isn't done consistently:
      
          net/ethtool/strset.c:253 strset_prepare_data()
          error: we previously assumed 'dev' could be null (see line 233)
      
      It looks like there is a missing return on this path.
      
      Fixes: 71921690 ("ethtool: provide string sets with STRSET_GET request")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ac9c41d5
    • Dan Carpenter's avatar
      ethtool: fix ->reply_size() error handling · d97772db
      Dan Carpenter authored
      
      
      The "ret < 0" comparison is never true because "ret" is still zero.
      
      Fixes: 728480f1 ("ethtool: default handlers for GET requests")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d97772db
    • Dan Carpenter's avatar
      ethtool: fix a memory leak in ethnl_default_start() · a6dd0480
      Dan Carpenter authored
      
      
      If ethnl_default_parse() fails then we need to free a couple
      memory allocations before returning.
      
      Fixes: 728480f1 ("ethtool: default handlers for GET requests")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6dd0480
    • David S. Miller's avatar
      Merge branch 'Broadcom-tags-support-for-531x5-539x-families' · 78b6d073
      David S. Miller authored
      
      
      Florian Fainelli says:
      
      ====================
      Broadcom tags support for 531x5/539x families
      
      This patch series finally allows us to enable Broadcom tags on the
      BCM531x5/BCM539x switch series which are very often cascaded onto
      another on-chip Broadcom switch. Because of that we need to be able to
      detect that Broadcom tags are already enabled on our DSA master which
      happens to be a DSA slave in that case since they are not part of the
      same DSA switch tree, the protocol does not support that.
      
      Due to the way DSA works, get_tag_protocol() is called prior to
      ds->ops->setup and we do not have all data structures set-up (in
      particular dsa_port::cpu_dp is not filed yet) so doing this at the time
      get_tag_protocol() is called and without exporting a helper function is
      desirable to limit our footprint into the framework.
      
      Having the core (net/dsa/dsa2.c) return and enforce DSA_TAG_PROTO_NONE
      was considered and done initially but this leaves the driver outside of
      the decision to force/fallback to a particular protocol, instead of
      letting it in control. Also there is no reason to suspect that all
      tagging protocols are problematic, e.g.: "inner" Marvell EDSA with
      "outer" Broadcom tag may work just fine, and vice versa.
      
      This was tested on:
      
      - Lamobo R1 which now has working Broadcom tags for its external BCM53125 switch
      - BCM7445 which has a BCM53125 hanging off one of its internal switch
        port, the BCM53125 still works with DSA_TAG_PROTO_NONE
      - BCM7278 which has a peculiar dual CPU port set-up (so dual IMP mode
        needs to be enabled)
      - Northstar Plus with DSA_TAG_PROTO_BRCM_PREPEND and no external
        switches hanging off the internal switch
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      78b6d073
    • Florian Fainelli's avatar
      net: dsa: b53: Enable Broadcom tags for 531x5/539x families · 8fab459e
      Florian Fainelli authored
      
      
      The BCM531x5 and BCM539x families require that the IMP port be enabled
      within the management page and that management mode (SM_SW_FWD_MODE) be
      turned on. Once this is done, everything works as expected, including
      multicast with standalone DSA devices or bridge devices.
      
      Because such switches are frequencly cascaded with other internal
      Broadcom switches on which we want to enable Broadcom tags, update
      b53_can_enable_brcm_tags() to check the kind of DSA master tagging
      protocol being used, if it is one of the two supported Broadcom tagging
      protocols, force DSA_TAG_PROTO_NONE.
      
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8fab459e
    • Florian Fainelli's avatar
      net: dsa: Get information about stacked DSA protocol · 4d776482
      Florian Fainelli authored
      
      
      It is possible to stack multiple DSA switches in a way that they are not
      part of the tree (disjoint) but the DSA master of a switch is a DSA
      slave of another. When that happens switch drivers may have to know this
      is the case so as to determine whether their tagging protocol has a
      remove chance of working.
      
      This is useful for specific switch drivers such as b53 where devices
      have been known to be stacked in the wild without the Broadcom tag
      protocol supporting that feature. This allows b53 to continue supporting
      those devices by forcing the disabling of Broadcom tags on the outermost
      switches if necessary.
      
      The get_tag_protocol() function is therefore updated to gain an
      additional enum dsa_tag_protocol argument which denotes the current
      tagging protocol used by the DSA master we are attached to, else
      DSA_TAG_PROTO_NONE for the top of the dsa_switch_tree.
      
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d776482
    • Tuong Lien's avatar
      tipc: fix wrong connect() return code · 9546a0b7
      Tuong Lien authored
      
      
      The current 'tipc_wait_for_connect()' function does a wait-loop for the
      condition 'sk->sk_state != TIPC_CONNECTING' to conclude if the socket
      connecting has done. However, when the condition is met, it returns '0'
      even in the case the connecting is actually failed, the socket state is
      set to 'TIPC_DISCONNECTING' (e.g. when the server socket has closed..).
      This results in a wrong return code for the 'connect()' call from user,
      making it believe that the connection is established and go ahead with
      building, sending a message, etc. but finally failed e.g. '-EPIPE'.
      
      This commit fixes the issue by changing the wait condition to the
      'tipc_sk_connected(sk)', so the function will return '0' only when the
      connection is really established. Otherwise, either the socket 'sk_err'
      if any or '-ETIMEDOUT'/'-EINTR' will be returned correspondingly.
      
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarTuong Lien <tuong.t.lien@dektech.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9546a0b7
    • Tuong Lien's avatar
      tipc: fix link overflow issue at socket shutdown · 49afb806
      Tuong Lien authored
      
      
      When a socket is suddenly shutdown or released, it will reject all the
      unreceived messages in its receive queue. This applies to a connected
      socket too, whereas there is only one 'FIN' message required to be sent
      back to its peer in this case.
      
      In case there are many messages in the queue and/or some connections
      with such messages are shutdown at the same time, the link layer will
      easily get overflowed at the 'TIPC_SYSTEM_IMPORTANCE' backlog level
      because of the message rejections. As a result, the link will be taken
      down. Moreover, immediately when the link is re-established, the socket
      layer can continue to reject the messages and the same issue happens...
      
      The commit refactors the '__tipc_shutdown()' function to only send one
      'FIN' in the situation mentioned above. For the connectionless case, it
      is unavoidable but usually there is no rejections for such socket
      messages because they are 'dest-droppable' by default.
      
      In addition, the new code makes the other socket states clear
      (e.g.'TIPC_LISTEN') and treats as a separate case to avoid misbehaving.
      
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarTuong Lien <tuong.t.lien@dektech.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49afb806