1. 17 Jan, 2015 14 commits
  2. 15 Jan, 2015 1 commit
  3. 14 Jan, 2015 20 commits
  4. 13 Jan, 2015 5 commits
    • Linus Torvalds's avatar
      Merge branch 'leds-fixes-for-3.19' of... · 188c9019
      Linus Torvalds authored
      Merge branch 'leds-fixes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
      
      Pull LED fix from Bryan Wu.
      
      * 'leds-fixes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: netxbig: fix oops at probe time
      188c9019
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux · 0c133dd0
      Linus Torvalds authored
      Pull WRITE_ONCE argument order change from Christian Borntraeger:
       "As discussed on LKML[1] it was agreed that WRITE_ONCE(x, val) is
        better than ASSIGN_ONCE(val, x)
      
        Lets change that for 3.19 as 3.19 has no user yet, but the first users
        will hit linux-next soon"
      
      [1] http://marc.info/?l=linux-kernel&m=142081181707596
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
        kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)
      0c133dd0
    • David Vrabel's avatar
      xen-netfront: use different locks for Rx and Tx stats · 900e1833
      David Vrabel authored
      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: default avatarDmitry Piotrovsky <piotrovskydmitry@gmail.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      900e1833
    • Mugunthan V N's avatar
      drivers: net: cpsw: fix multicast flush in dual emac mode · 25906052
      Mugunthan V N authored
      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: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      25906052
    • Simon Guinot's avatar
      leds: netxbig: fix oops at probe time · 0c86ac2c
      Simon Guinot authored
      This patch fixes a NULL pointer dereference on led_dat->mode_val. Due to
      this bug, a kernel oops can be observed at probe time on the LaCie 2Big
      and 5Big v2 boards:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000008
      [...]
      [<c03f244c>] (netxbig_led_probe) from [<c02c8c6c>] (platform_drv_probe+0x4c/0x9c)
      [<c02c8c6c>] (platform_drv_probe) from [<c02c72d0>] (driver_probe_device+0x98/0x25c)
      [<c02c72d0>] (driver_probe_device) from [<c02c7520>] (__driver_attach+0x8c/0x90)
      [<c02c7520>] (__driver_attach) from [<c02c5c24>] (bus_for_each_dev+0x68/0x94)
      [<c02c5c24>] (bus_for_each_dev) from [<c02c6408>] (bus_add_driver+0x124/0x1dc)
      [<c02c6408>] (bus_add_driver) from [<c02c7ac0>] (driver_register+0x78/0xf8)
      [<c02c7ac0>] (driver_register) from [<c000888c>] (do_one_initcall+0x80/0x1cc)
      [<c000888c>] (do_one_initcall) from [<c0733618>] (kernel_init_freeable+0xe4/0x1b4)
      [<c0733618>] (kernel_init_freeable) from [<c058db9c>] (kernel_init+0xc/0xec)
      [<c058db9c>] (kernel_init) from [<c0009850>] (ret_from_fork+0x14/0x24)
      [...]
      
      This bug was introduced by commit 588a6a99
      ("leds: netxbig: fix attribute-creation race").
      Signed-off-by: default avatarSimon Guinot <simon.guinot@sequanux.org>
      Cc: <stable@vger.kernel.org> # 3.17+
      Acked-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      0c86ac2c