Skip to content
  1. Apr 24, 2015
  2. Apr 22, 2015
  3. Apr 15, 2015
    • Eric Dumazet's avatar
      bnx2x: Fix busy_poll vs netpoll · 074975d0
      Eric Dumazet authored
      
      
      Commit 9a2620c8 ("bnx2x: prevent WARN during driver unload")
      switched the napi/busy_lock locking mechanism from spin_lock() into
      spin_lock_bh(), breaking inter-operability with netconsole, as netpoll
      disables interrupts prior to calling our napi mechanism.
      
      This switches the driver into using atomic assignments instead of the
      spinlock mechanisms previously employed.
      
      Based on initial patch from Yuval Mintz & Ariel Elior
      
      I basically added softirq starvation avoidance, and mixture
      of atomic operations, plain writes and barriers.
      
      Note this slightly reduces the overhead for this driver when no
      busy_poll sockets are in use.
      
      Fixes: 9a2620c8 ("bnx2x: prevent WARN during driver unload")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      074975d0
  4. Apr 14, 2015
  5. Apr 01, 2015
    • Petri Gynther's avatar
      net: bcmgenet: enable MoCA link state change detection · 8d88c6eb
      Petri Gynther authored
      
      
      Currently, MoCA fixed PHYs are always in link-up state, regardless of
      whether the link is actually up or not.
      
      Add code to properly detect MoCA link state changes and to reflect the
      new state in MoCA fixed PHY. Only GENET V3 and V4 MACs are capable of
      detecting MoCA link state changes.
      
      The code works as follows:
      1. GENET MAC detects MoCA link state change and issues UMAC_IRQ_LINK_UP
         or UMAC_IRQ_LINK_DOWN interrupt.
      2. Link up/down interrupt is processed in bcmgenet_irq_task(), which
         calls phy_mac_interrupt().
      3. phy_mac_interrupt() updates the fixed PHY phydev->link and kicks
         the PHY state machine.
      4. PHY state machine proceeds to read the fixed PHY link status
         register.
      5. When the fixed PHY link status register is being read, the new
         function bcmgenet_fixed_phy_link_update() gets called. It copies
         the fixed PHY phydev->link value to the fixed PHY status->link.
      6. PHY state machine receives the new link state of the fixed PHY.
      7. MoCA fixed PHY link state now correctly reflects the real MoCA
         hardware link state.
      
      Signed-off-by: default avatarPetri Gynther <pgynther@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d88c6eb
    • Yuval Mintz's avatar
      bnx2x: Fix kdump when iommu=on · da254fbc
      Yuval Mintz authored
      
      
      When IOMM-vtd is active, once main kernel crashes unfinished DMAE transactions
      will be blocked, putting the HW in an error state which will cause further
      transactions to timeout.
      
      Current employed logic uses wrong macros, causing the first function to be the
      only function that cleanups that error state during its probe/load.
      
      This patch allows all the functions to successfully re-load in kdump kernel.
      
      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>
      da254fbc
    • Yuval Mintz's avatar
      bnx2x: Fix kdump on 4-port device · 3d6b7253
      Yuval Mintz authored
      
      
      When running in a kdump kernel, it's very likely that due to sync. loss with
      management firmware the first PCI function to probe and reach the previous
      unload flow would decide it can reset the chip and continue onward. While doing
      so, it will only close its own Rx port.
      
      On a 4-port device where 2nd port on engine is a 1g-port, the 2nd port would
      allow ingress traffic after the chip is reset [assuming it was active on the
      first kernel]. This would later cause a HW attention.
      
      This changes driver flow to close both ports' 1g capabilities during the
      previous driver unload flow prior to the chip reset.
      
      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>
      3d6b7253
    • Rafał Miłecki's avatar
      MIPS: BCM47xx: Move NVRAM header to the include/linux/. · 138173d4
      Rafał Miłecki authored
      
      
      There are two reasons for having this header in the common place:
      1) Simplifying drivers that read NVRAM entries. We will be able to
         safely call bcm47xx_nvram_* functions without #ifdef-s.
      2) Getting NVRAM driver out of MIPS arch code. This is needed to support
         BCM5301X arch which also requires this NVRAM driver. Patch for that
         will follow once we get is reviewed.
      
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Acked-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Cc: linux-mips@linux-mips.org
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: linux-soc@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/8619/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      138173d4
  6. Mar 31, 2015
  7. Mar 29, 2015
  8. Mar 27, 2015
  9. Mar 24, 2015
Loading