Skip to content
  1. Jun 29, 2015
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue · ebc03239
      David S. Miller authored
      
      
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-06-26
      
      This series contains fixes for igb, e1000e and i40evf.
      
      Todd disables IPv6 extension header processing due to a hardware errata
      and bumps the driver version.
      
      Yanir provides six fixes for e1000e.  First is a fix for a locking issue
      where we were not always taking the pci_bus_sem semaphore all the time
      when calling pci_disable_link_state_locked(), so fix the code to only call
      pci_disable_link_state_locked() when the semaphore has been acquired,
      otherwise call pci_disable_link_state().  A previous fix for i219 where
      the hardware prevented ULP entry caused EEE in Sx not the be enabled, so
      modify the code flow that allows both ULP and EEE in Sx.  Fix an issue
      when running 10/100 full duplex on i219 where CRC errors were occurring
      by increasing the IPG from 8 to 0xC as per the hardware developers.
      Fix a data corruption issue found on some platforms by increasing the
      minimum gap between the PHY FIFO read and write pointers.  Fix i219,
      which does not require the K1 workaround for LPT devices.
      
      Mitch provides a i40evf fix for a panic when changing MTU.  Down was
      requesting queue disables, but then exited immediately without waiting
      for the queues to actually be disabled.  This could allow any function
      called after i40evf_down() to run immediately, including i40evf_up(),
      and causes a memory leak.  Fixed the issue by removing the whole
      reinit_locked function which allows for the driver to handle the state
      changes by requesting reset from the periodic timer.  The second fix
      resolves an issue where RSS was being configured as though it is using
      the maximum number of queue.  This can cause the device to drop a lot
      of receive traffic, as the packets get assigned to non-functional queues.
      This is resolved by only configuring RSS with the number of active queues.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebc03239
    • Shengzhou Liu's avatar
      net/phy: tune get_phy_c45_ids to support more c45 phy · da1da284
      Shengzhou Liu authored
      
      
      As some C45 10G PHYs(e.g. Cortina CS4315/CS4340 PHY) have
      zero Devices In package, current driver can't get correct
      devices_in_package value by non-zero Devices In package.
      so let's probe more with zero Devices In package to support
      more C45 PHYs.
      
      Signed-off-by: default avatarShengzhou Liu <Shengzhou.Liu@freescale.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da1da284
    • Eric Dumazet's avatar
      bnx2x: fix lockdep splat · d53c66a5
      Eric Dumazet authored
      Michel reported following lockdep splat
      
      [   44.718117] INFO: trying to register non-static key.
      [   44.723081] the code is fine but needs lockdep annotation.
      [   44.728559] turning off the locking correctness validator.
      [   44.734036] CPU: 8 PID: 5483 Comm: ethtool Not tainted 4.1.0
      [   44.770289] Call Trace:
      [   44.772741]  [<ffffffff816eb1cd>] dump_stack+0x4c/0x65
      [   44.777879]  [<ffffffff8111d921>] ? console_unlock+0x1f1/0x510
      [   44.783708]  [<ffffffff811121f5>] __lock_acquire+0x1d05/0x1f10
      [   44.789538]  [<ffffffff8111370a>] ? mark_held_locks+0x6a/0x90
      [   44.795276]  [<ffffffff81113835>] ? trace_hardirqs_on_caller+0x105/0x1d0
      [   44.801967]  [<ffffffff8111390d>] ? trace_hardirqs_on+0xd/0x10
      [   44.807793]  [<ffffffff811330fa>] ? hrtimer_try_to_cancel+0x4a/0x250
      [   44.814142]  [<ffffffff81112ba6>] lock_acquire+0xb6/0x290
      [   44.819537]  [<ffffffff810d6675>] ? flush_work+0x5/0x280
      [   44.824844]  [<ffffffff810d66ad>] flush_work+0x3d/0x280
      [   44.830061]  [<ffffffff810d6675>] ? flush_work+0x5/0x280
      [   44.835366]  [<ffffffff816f3c43>] ? schedule_hrtimeout_range+0x13/0x20
      [   44.841889]  [<ffffffff8112ec9b>] ? usleep_range+0x4b/0x50
      [   44.847365]  [<ffffffff8111370a>] ? mark_held_locks+0x6a/0x90
      [   44.853102]  [<ffffffff810d8585>] ? __cancel_work_timer+0x105/0x1c0
      [   44.859359]  [<ffffffff81113835>] ? trace_hardirqs_on_caller+0x105/0x1d0
      [   44.866045]  [<ffffffff810d851f>] __cancel_work_timer+0x9f/0x1c0
      [   44.872048]  [<ffffffffa0010982>] ? bnx2x_func_stop+0x42/0x90 [bnx2x]
      [   44.878481]  [<ffffffff810d8670>] cancel_work_sync+0x10/0x20
      [   44.884134]  [<ffffffffa00259e5>] bnx2x_chip_cleanup+0x245/0x730 [bnx2x]
      [   44.890829]  [<ffffffff8110ce02>] ? up+0x32/0x50
      [   44.895439]  [<ffffffff811306b5>] ? del_timer_sync+0x5/0xd0
      [   44.901005]  [<ffffffffa005596d>] bnx2x_nic_unload+0x20d/0x8e0 [bnx2x]
      [   44.907527]  [<ffffffff811f1aef>] ? might_fault+0x5f/0xb0
      [   44.912921]  [<ffffffffa005851c>] bnx2x_reload_if_running+0x2c/0x50 [bnx2x]
      [   44.919879]  [<ffffffffa005a3c5>] bnx2x_set_ringparam+0x2b5/0x460 [bnx2x]
      [   44.926664]  [<ffffffff815d498b>] dev_ethtool+0x55b/0x1c40
      [   44.932148]  [<ffffffff815dfdc7>] ? rtnl_lock+0x17/0x20
      [   44.937364]  [<ffffffff815e7f8b>] dev_ioctl+0x17b/0x630
      [   44.942582]  [<ffffffff815abf8d>] sock_do_ioctl+0x5d/0x70
      [   44.947972]  [<ffffffff815ac013>] sock_ioctl+0x73/0x280
      [   44.953192]  [<ffffffff8124c1c8>] do_vfs_ioctl+0x88/0x5b0
      [   44.958587]  [<ffffffff8110d0b3>] ? up_read+0x23/0x40
      [   44.963631]  [<ffffffff812584cc>] ? __fget_light+0x6c/0xa0
      [   44.969105]  [<ffffffff8124c781>] SyS_ioctl+0x91/0xb0
      [   44.974149]  [<ffffffff816f4dd7>] system_call_fastpath+0x12/0x6f
      
      As bnx2x_init_ptp() is only called if bp->flags contains PTP_SUPPORTED,
      we also need to guard bnx2x_stop_ptp() with same condition, otherwise
      ptp_task workqueue is not initialized and kernel barfs on
      cancel_work_sync()
      
      Fixes: eeed018c
      
       ("bnx2x: Add timestamping and PTP hardware clock support")
      Reported-by: default avatarMichel Lespinasse <walken@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Michal Kalderon <Michal.Kalderon@qlogic.com>
      Cc: Ariel Elior <Ariel.Elior@qlogic.com>
      Cc: Yuval Mintz <Yuval.Mintz@qlogic.com>
      Cc: David Decotigny <decot@google.com>
      Acked-by: default avatarSony Chacko <sony.chacko@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d53c66a5
    • Greg Ungerer's avatar
      net: fec: don't access RACC register when not available · 18803495
      Greg Ungerer authored
      Not all silicon implementations of the Freescale FEC hardware module
      have the RACC (Receive Accelerator Function) register, so we should not
      be trying to access it on those that don't. Currently none of the ColdFire
      based parts with a FEC have it.
      
      Support for RACC was introduced by commit 4c09eed9 ("net: fec: Enable imx6
      enet checksum acceleration"). A fix was introduced in commit d1391930
      
      
      ("net: fec: Fix build for MCF5272") that disables its use on the ColdFire
      M5272 part, but it doesn't fix the general case of other ColdFire parts.
      
      To fix we create a quirk flag, FEC_QUIRK_HAS_RACC, and check it before
      working with the RACC register.
      
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18803495
    • Mugunthan V N's avatar
      net: phy: fix phy link up when limiting speed via device tree · eb686231
      Mugunthan V N authored
      
      
      When limiting phy link speed using "max-speed" to 100mbps or less on a
      giga bit phy, phy never completes auto negotiation and phy state
      machine is held in PHY_AN. Fixing this issue by comparing the giga
      bit advertise though phydev->supported doesn't have it but phy has
      BMSR_ESTATEN set. So that auto negotiation is restarted as old and
      new advertise are different and link comes up fine.
      
      Signed-off-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb686231
    • Gilad Ben-Yossef's avatar
      dsa: fix promiscuity leak on slave dev open error · 4fdeddfe
      Gilad Ben-Yossef authored
      
      
      DSA master netdev promiscuity counter was not being properly
      decremented on slave device open error path.
      
      Signed-off-by: default avatarGilad Ben-Yossef <gilad@benyossef.com>
      CC: Gilad Ben-Yossef <giladb@ezchip.com>
      CC: David S. Miller <davem@davemloft.net>
      CC: Florian Fainelli <f.fainelli@gmail.com>
      CC: Guenter Roeck <linux@roeck-us.net>
      CC: Andrew Lunn <andrew@lunn.ch>
      CC: Scott Feldman <sfeldma@gmail.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4fdeddfe
    • David S. Miller's avatar
      Merge branch 'kill_sk_protinfo' · 14e28b1d
      David S. Miller authored
      
      
      David Miller says:
      
      ====================
      Get rid of sock->sk_protinfo.
      
      These two patches get rid of the last remaining user of sk_protinfo
      (ax25) and then really gets rid of the struct member.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14e28b1d
    • David Miller's avatar
      net: Kill sock->sk_protinfo · 1830fcea
      David Miller authored
      
      
      No more users, so it can now be removed.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1830fcea
    • David Miller's avatar
      ax25: Stop using sock->sk_protinfo. · 3200392b
      David Miller authored
      
      
      Just make a ax25_sock structure that provides the ax25_cb pointer.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3200392b
    • Geert Uytterhoeven's avatar
      drivers: net: xgene: Pre-initialize ret in xgene_enet_get_resources() · 2e598712
      Geert Uytterhoeven authored
      
      
      If CONFIG_ACPI=n:
      
          drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_get_resources’:
          drivers/net/ethernet/apm/xgene/xgene_enet_main.c:951: warning: ‘ret’ may be used uninitialized in this function
      
      If the driver is bound to a legacy platform device, ret will contain
      arbitrary data. If it is non-zero, it will be returned to the caller as
      an error code.
      
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e598712
    • Geert Uytterhoeven's avatar
      flow_dissector: Pre-initialize ip_proto in __skb_flow_dissect() · 8e690ffd
      Geert Uytterhoeven authored
      
      
      net/core/flow_dissector.c: In function ‘__skb_flow_dissect’:
      net/core/flow_dissector.c:132: warning: ‘ip_proto’ may be used uninitialized in this function
      
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e690ffd
    • Li, Liang Z's avatar
      xen-netfront: Remove the meaningless code · 905726c1
      Li, Liang Z authored
      
      
      The function netif_set_real_num_tx_queues() will return -EINVAL if
      the second parameter < 1, so call this function with the second
      parameter set to 0 is meaningless.
      
      Signed-off-by: default avatarLiang Li <liang.z.li@intel.com>
      Reviewed-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      905726c1
    • Andy Gospodarek's avatar
      ipv4: fix RCU lockdep warning from linkdown changes · 96ac5cc9
      Andy Gospodarek authored
      
      
      The following lockdep splat was seen due to the wrong context for
      grabbing in_dev.
      
      ===============================
      [ INFO: suspicious RCU usage. ]
      4.1.0-next-20150626-dbg-00020-g54a6d91-dirty #244 Not tainted
      -------------------------------
      include/linux/inetdevice.h:205 suspicious rcu_dereference_check() usage!
      
      other info that might help us debug this:
      
      rcu_scheduler_active = 1, debug_locks = 0
      2 locks held by ip/403:
       #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff81453305>] rtnl_lock+0x17/0x19
       #1:  ((inetaddr_chain).rwsem){.+.+.+}, at: [<ffffffff8105c327>] __blocking_notifier_call_chain+0x35/0x6a
      
      stack backtrace:
      CPU: 2 PID: 403 Comm: ip Not tainted 4.1.0-next-20150626-dbg-00020-g54a6d91-dirty #244
       0000000000000001 ffff8800b189b728 ffffffff8150a542 ffffffff8107a8b3
       ffff880037bbea40 ffff8800b189b758 ffffffff8107cb74 ffff8800379dbd00
       ffff8800bec85800 ffff8800bf9e13c0 00000000000000ff ffff8800b189b7d8
      Call Trace:
       [<ffffffff8150a542>] dump_stack+0x4c/0x6e
       [<ffffffff8107a8b3>] ? up+0x39/0x3e
       [<ffffffff8107cb74>] lockdep_rcu_suspicious+0xf7/0x100
       [<ffffffff814b63c3>] fib_dump_info+0x227/0x3e2
       [<ffffffff814b6624>] rtmsg_fib+0xa6/0x116
       [<ffffffff814b978f>] fib_table_insert+0x316/0x355
       [<ffffffff814b362e>] fib_magic+0xb7/0xc7
       [<ffffffff814b4803>] fib_add_ifaddr+0xb1/0x13b
       [<ffffffff814b4d09>] fib_inetaddr_event+0x36/0x90
       [<ffffffff8105c086>] notifier_call_chain+0x4c/0x71
       [<ffffffff8105c340>] __blocking_notifier_call_chain+0x4e/0x6a
       [<ffffffff8105c370>] blocking_notifier_call_chain+0x14/0x16
       [<ffffffff814a7f50>] __inet_insert_ifa+0x1a5/0x1b3
       [<ffffffff814a894d>] inet_rtm_newaddr+0x350/0x35f
       [<ffffffff81457866>] rtnetlink_rcv_msg+0x17b/0x18a
       [<ffffffff8107e7c3>] ? trace_hardirqs_on+0xd/0xf
       [<ffffffff8146965f>] ? netlink_deliver_tap+0x1cb/0x1f7
       [<ffffffff814576eb>] ? rtnl_newlink+0x72a/0x72a
      ...
      
      This patch resolves that splat.
      
      Signed-off-by: default avatarAndy Gospodarek <gospo@cumulusnetworks.com>
      Reported-by: default avatarSergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      96ac5cc9
    • Jon Paul Maloy's avatar
      tipc: purge backlog queue counters when broadcast link is reset · 7d967b67
      Jon Paul Maloy authored
      In commit 1f66d161
      
      
      ("tipc: introduce starvation free send algorithm")
      we introduced a counter per priority level for buffers
      in the link backlog queue. We also introduced a new
      function tipc_link_purge_backlog(), to reset these
      counters to zero when the link is reset.
      
      Unfortunately, we missed to call this function when
      the broadcast link is reset, with the result that the
      values of these counters might be permanently skewed
      when new nodes are attached. This may in the worst case
      lead to permananent, but spurious, broadcast link
      congestion, where no broadcast packets can be sent at
      all.
      
      We fix this bug with this commit.
      
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d967b67
  2. Jun 26, 2015
  3. Jun 25, 2015