1. 16 1月, 2015 9 次提交
  2. 15 1月, 2015 14 次提交
  3. 14 1月, 2015 4 次提交
    • S
      net: fec: fix MDIO bus assignement for dual fec SoC's · 3d125f9c
      Stefan Agner 提交于
      On i.MX28, the MDIO bus is shared between the two FEC instances.
      The driver makes sure that the second FEC uses the MDIO bus of the
      first FEC. This is done conditionally if FEC_QUIRK_ENET_MAC is set.
      However, in newer designs, such as Vybrid or i.MX6SX, each FEC MAC
      has its own MDIO bus. Simply removing the quirk FEC_QUIRK_ENET_MAC
      is not an option since other logic, triggered by this quirk, is
      still needed.
      
      Furthermore, there are board designs which use the same MDIO bus
      for both PHY's even though the second bus would be available on the
      SoC side. Such layout are popular since it saves pins on SoC side.
      Due to the above quirk, those boards currently do work fine. The
      boards in the mainline tree with such a layout are:
      - Freescale Vybrid Tower with TWR-SER2 (vf610-twr.dts)
      - Freescale i.MX6 SoloX SDB Board (imx6sx-sdb.dts)
      
      This patch adds a new quirk FEC_QUIRK_SINGLE_MDIO for i.MX28, which
      makes sure that the MDIO bus of the first FEC is used in any case.
      
      However, the boards above do have a SoC with a MDIO bus for each FEC
      instance. But the PHY's are not connected in a 1:1 configuration. A
      proper device tree description is needed to allow the driver to
      figure out where to find its PHY. This patch fixes that shortcoming
      by adding a MDIO bus child node to the first FEC instance, along
      with the two PHY's on that bus, and making use of the phy-handle
      property to add a reference to the PHY's.
      Acked-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d125f9c
    • D
      xen-netfront: use different locks for Rx and Tx stats · 900e1833
      David Vrabel 提交于
      In netfront the Rx and Tx path are independent and use different
      locks.  The Tx lock is held with hard irqs disabled, but Rx lock is
      held with only BH disabled.  Since both sides use the same stats lock,
      a deadlock may occur.
      
        [ INFO: possible irq lock inversion dependency detected ]
        3.16.2 #16 Not tainted
        ---------------------------------------------------------
        swapper/0/0 just changed the state of lock:
         (&(&queue->tx_lock)->rlock){-.....}, at: [<c03adec8>]
        xennet_tx_interrupt+0x14/0x34
        but this lock took another, HARDIRQ-unsafe lock in the past:
         (&stat->syncp.seq#2){+.-...}
        and interrupts could create inverse lock ordering between them.
        other info that might help us debug this:
         Possible interrupt unsafe locking scenario:
      
               CPU0                    CPU1
               ----                    ----
          lock(&stat->syncp.seq#2);
                                       local_irq_disable();
                                       lock(&(&queue->tx_lock)->rlock);
                                       lock(&stat->syncp.seq#2);
          <Interrupt>
            lock(&(&queue->tx_lock)->rlock);
      
      Using separate locks for the Rx and Tx stats fixes this deadlock.
      Reported-by: NDmitry Piotrovsky <piotrovskydmitry@gmail.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      900e1833
    • M
      drivers: net: cpsw: fix multicast flush in dual emac mode · 25906052
      Mugunthan V N 提交于
      Since ALE table is a common resource for both the interfaces in Dual EMAC
      mode and while bringing up the second interface in cpsw_ndo_set_rx_mode()
      all the multicast entries added by the first interface is flushed out and
      only second interface multicast addresses are added. Fixing this by
      flushing multicast addresses based on dual EMAC port vlans which will not
      affect the other emac port multicast addresses.
      
      Fixes: d9ba8f9e (driver: net: ethernet: cpsw: dual emac interface implementation)
      Cc: <stable@vger.kernel.org> # v3.9+
      Signed-off-by: NMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25906052
    • H
      cxgb4vf: Initialize mdio_addr before using it · fd48e639
      Hariprasad Shenai 提交于
      In commit 5ad24def ("cxgb4vf: Fix ethtool get_settings for VF driver")
      mdio_addr of port_info structure was used unininitialzed. Fixing it.
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd48e639
  4. 13 1月, 2015 2 次提交
  5. 12 1月, 2015 2 次提交
  6. 09 1月, 2015 3 次提交
  7. 07 1月, 2015 6 次提交