Skip to content
  1. Apr 01, 2015
  2. Mar 16, 2015
  3. Mar 09, 2015
  4. Mar 06, 2015
    • Florian Fainelli's avatar
      net: bcmgenet: properly disable password matching · 386668a6
      Florian Fainelli authored
      
      
      bcmgenet_set_wol() correctly sets MPD_PW_EN when a password is specified
      to match magic packets against, however, when we switch from a
      password-matching to a matching without password we would leave this bit
      turned on, and GENET would only match magic packets with passwords.
      
      This can be reproduced using the following sequence:
      
      ethtool -s eth0 wol g
      ethtool -s eth0 wol s sopass 00:11:22:33:44:55
      ethtool -s eth0 wol g
      
      The simple fix is to clear the MPD_PWD_EN bit when WAKE_MAGICSECURE is
      not set.
      
      Fixes: c51de7f3 ("net: bcmgenet: add Wake-on-LAN support code")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      386668a6
  5. Mar 05, 2015
  6. Mar 04, 2015
  7. Mar 01, 2015
    • Florian Fainelli's avatar
      net: systemport: fix software maintained statistics · 55ff4ea9
      Florian Fainelli authored
      
      
      Commit 60b4ea17 ("net: systemport: log RX buffer allocation and RX/TX DMA
      failures") added a few software maintained statistics using
      BCM_SYSPORT_STAT_MIB_RX and BCM_SYSPORT_STAT_MIB_TX. These statistics are read
      from the hardware MIB counters, such that bcm_sysport_update_mib_counters() was
      trying to read from a non-existing MIB offset for these counters.
      
      Fix this by introducing a special type: BCM_SYSPORT_STAT_SOFT, similar to
      BCM_SYSPORT_STAT_NETDEV, such that bcm_sysport_get_ethtool_stats will read from
      the software mib.
      
      Fixes: 60b4ea17 ("net: systemport: log RX buffer allocation and RX/TX DMA failures")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      55ff4ea9
    • Florian Fainelli's avatar
      net: bcmgenet: fix software maintained statistics · f62ba9c1
      Florian Fainelli authored
      
      
      Commit 44c8bc3c ("net: bcmgenet: log RX buffer allocation and RX/TX dma
      failures") added a few software maintained statistics using
      BCMGENET_STAT_MIB_RX and BCMGENET_STAT_MIB_TX. These statistics are read from
      the hardware MIB counters, such that bcmgenet_update_mib_counters() was trying
      to read from a non-existing MIB offset for these counters.
      
      Fix this by introducing a special type: BCMGENET_STAT_SOFT, similar to
      BCMGENET_STAT_NETDEV, such that bcmgenet_get_ethtool_stats will read from the
      software mib.
      
      Fixes: 44c8bc3c ("net: bcmgenet: log RX buffer allocation and RX/TX dma failures")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f62ba9c1
    • Jaedon Shin's avatar
      net: bcmgenet: fix throughtput regression · 4092e6ac
      Jaedon Shin authored
      
      
      This patch adds bcmgenet_tx_poll for the tx_rings. This can reduce the
      interrupt load and send xmit in network stack on time. This also
      separated for the completion of tx_ring16 from bcmgenet_poll.
      
      The bcmgenet_tx_reclaim of tx_ring[{0,1,2,3}] operative by an interrupt
      is to be not more than a certain number TxBDs. It is caused by too
      slowly reclaiming the transmitted skb. Therefore, performance
      degradation of xmit after 605ad7f1 ("tcp: refine TSO autosizing").
      
      Signed-off-by: default avatarJaedon Shin <jaedon.shin@gmail.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4092e6ac
  8. Feb 12, 2015
  9. Feb 11, 2015
  10. Feb 06, 2015
  11. Jan 27, 2015
  12. Jan 19, 2015
  13. Jan 14, 2015
  14. Jan 13, 2015
  15. Jan 12, 2015
  16. Jan 02, 2015
  17. Dec 30, 2014
  18. Dec 26, 2014
    • Jesse Gross's avatar
      net: Generalize ndo_gso_check to ndo_features_check · 5f35227e
      Jesse Gross authored
      GSO isn't the only offload feature with restrictions that
      potentially can't be expressed with the current features mechanism.
      Checksum is another although it's a general issue that could in
      theory apply to anything. Even if it may be possible to
      implement these restrictions in other ways, it can result in
      duplicate code or inefficient per-packet behavior.
      
      This generalizes ndo_gso_check so that drivers can remove any
      features that don't make sense for a given packet, similar to
      netif_skb_features(). It also converts existing driver
      restrictions to the new format, completing the work that was
      done to support tunnel protocols since the issues apply to
      checksums as well.
      
      By actually removing features from the set that are used to do
      offloading, it solves another problem with the existing
      interface. In these cases, GSO would run with the original set
      of features and not do anything because it appears that
      segmentation is not required.
      
      CC: Tom Herbert <ther...
      5f35227e
  19. Dec 22, 2014
    • Prashant Sreedharan's avatar
      tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts · 05b0aa57
      Prashant Sreedharan authored
      
      
      During driver load in tg3_init_one, if the driver detects DMA activity before
      intializing the chip tg3_halt is called. As part of tg3_halt interrupts are
      disabled using routine tg3_disable_ints. This routine was using mailbox value
      which was not initialized (default value is 0). As a result driver was writing
      0x00000001 to pci config space register 0, which is the vendor id / device id.
      
      This driver bug was exposed because of the commit a7877b17a667 (PCI: Check only
      the Vendor ID to identify Configuration Request Retry). Also this issue is only
      seen in older generation chipsets like 5722 because config space write to offset
      0 from driver is possible. The newer generation chips ignore writes to offset 0.
      Also without commit a7877b17a667, for these older chips when a GRC reset is
      issued the Bootcode would reprogram the vendor id/device id, which is the reason
      this bug was masked earlier.
      
      Fixed by initializing the interrupt mailbox registers before calling tg3_halt.
      
      Please queue for -stable.
      
      Reported-by: default avatarNils Holland <nholland@tisys.org>
      Reported-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarPrashant Sreedharan <prashant@broadcom.com>
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05b0aa57
  20. Dec 18, 2014
  21. Dec 16, 2014
  22. Dec 10, 2014
  23. Dec 09, 2014
    • Florian Fainelli's avatar
      net: systemport: allow changing MAC address · fb3b596d
      Florian Fainelli authored
      
      
      Hook a ndo_set_mac_address callback, update the internal Ethernet MAC in
      the netdevice structure, and finally write that address down to the
      UniMAC registers. If the interface is down, and most likely clock gated,
      we do not update the registers but just the local copy, such that next
      ndo_open() call will effectively write down the address.
      
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fb3b596d
    • Joe Stringer's avatar
      bnx2x: Implement ndo_gso_check() · 51de7bb9
      Joe Stringer authored
      
      
      Use vxlan_gso_check() to advertise offload support for this NIC.
      
      Signed-off-by: default avatarJoe Stringer <joestringer@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51de7bb9
    • Yuval Mintz's avatar
      bnx2x: Use correct fastpath version for VFs. · 02dc4025
      Yuval Mintz authored
      
      
      Our FW can support several fastpath HSI [for backward compatibility] but up
      until now VFs were always configured to use latest fastpath HSI [although VF
      driver might be older and use an older fastpath HSI].
      
      For linux drivers, the differences are insignificant since driver never
      utilized features that were overridden by the HSI change. But for VMs running
      other operating systems this might be a problem.
      In addition, eventually FW might change fastpath HSI in such a manner that
      backward compatibility WILL break unless configured with proper version.
      
      This patch fixes the issue for other operating system VMs, as well as lays
      the ground work for forward compatibility in regard to the fastpath HSI.
      
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: default avatarAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02dc4025
    • Yaniv Rosner's avatar
      bnx2x: Limit 1G link enforcement · c9cdc74d
      Yaniv Rosner authored
      
      
      Change 1G-SFP module detection by verifying not only that it's not
      compliant with 10G-Ethernet, but also that it's 1G-ethernet compliant.
      
      Signed-off-by: default avatarYaniv Rosner <Yaniv.Rosner@qlogic.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c9cdc74d
    • Florian Fainelli's avatar
      net: bcmgenet: add support for new GENET PHY revision scheme · b04a2f5b
      Florian Fainelli authored
      
      
      Starting with GPHY revision G0, the GENET register layout has changed to
      use the same numbering scheme as the Starfighter 2 switch. This means
      that GPHY major revision is in bits 15:12, minor in bits 11:8 and patch
      level is in bits 7:4.
      
      Introduce a small heuristic which checks for the old scheme first, tests
      for the new scheme and finally attempts to catch reserved values and
      aborts.
      
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b04a2f5b
    • Eyal Perry's avatar
      ethtool: Support for configurable RSS hash function · 892311f6
      Eyal Perry authored
      
      
      This patch extends the set/get_rxfh ethtool-options for getting or
      setting the RSS hash function.
      
      It modifies drivers implementation of set/get_rxfh accordingly.
      
      This change also delegates the responsibility of checking whether a
      modification to a certain RX flow hash parameter is supported to the
      driver implementation of set_rxfh.
      
      User-kernel API is done through the new hfunc bitmask field in the
      ethtool_rxfh struct. A bit set in the hfunc field is corresponding to an
      index in the new string-set ETH_SS_RSS_HASH_FUNCS.
      
      Got approval from most of the relevant driver maintainers that their
      driver is using Toeplitz, and for the few that didn't answered, also
      assumed it is Toeplitz.
      
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Ariel Elior <ariel.elior@qlogic.com>
      Cc: Prashant Sreedharan <prashant@broadcom.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Hariprasad S <hariprasad@chelsio.com>
      Cc: Sathya Perla <sathya.perla@emulex.com>
      Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
      Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Bruce Allan <bruce.w.allan@intel.com>
      Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
      Cc: Don Skidmore <donald.c.skidmore@intel.com>
      Cc: Greg Rose <gregory.v.rose@intel.com>
      Cc: Matthew Vick <matthew.vick@intel.com>
      Cc: John Ronciak <john.ronciak@intel.com>
      Cc: Mitch Williams <mitch.a.williams@intel.com>
      Cc: Amir Vadai <amirv@mellanox.com>
      Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
      Cc: Shradha Shah <sshah@solarflare.com>
      Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
      Cc: "VMware, Inc." <pv-drivers@vmware.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarEyal Perry <eyalpe@mellanox.com>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      892311f6
    • Petri Gynther's avatar
      net: bcmgenet: enable driver to work without a device tree · b0ba512e
      Petri Gynther authored
      
      
      Modify bcmgenet driver so that it can be used on Broadcom 7xxx
      MIPS-based STB platforms without a device tree.
      
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0ba512e
  24. Dec 04, 2014
    • Andrey Skvortsov's avatar
      SSB / B44: fix WOL for BCM4401 · 5580373f
      Andrey Skvortsov authored
      
      
      Wake On Lan was not working on laptop DELL Vostro 1500.
      If WOL was turned on, BCM4401 was powered up in suspend mode. LEDs blinked.
      But the laptop could not be woken up with the Magic Packet. The reason for
      that was that PCIE was not enabled as a system wakeup source and
      therefore the host PCI bridge was not powered up in suspend mode.
      PCIE was not enabled in suspend by PM because no child devices were
      registered as wakeup source during suspend process.
      On laptop BCM4401 is connected through the SSB bus, that is connected to the
      PCI-Express bus. SSB and B44 did not use standard PM wakeup functions
      and did not forward wakeup settings to their parents.
      To fix that B44 driver enables PM wakeup and registers new wakeup source
      using device_set_wakeup_enable(). Wakeup is automatically reported to the parent SSB
      bus via power.wakeup_path. SSB bus enables wakeup for the parent PCI bridge, if there is any
      child devices with enabled wakeup functionality. All other steps are
      done by PM core code.
      
      Signed-off-by: default avatarAndrey Skvortsov <Andrej.Skvortzov@gmail.com>
      Signed-off-by: default avatarMichael Buesch <m@bues.ch>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5580373f
Loading