1. 07 2月, 2017 3 次提交
    • L
      iwlwifi: mvm: release static queues on bcast release · df88c08d
      Liad Kaufman 提交于
      A few of the static queues are enabled along with the bcast
      STA. Make sure they are removed along with it, rather than
      waiting for the mac ctxt release.
      
      This is needed because we sometimes have a STA being removed
      and then added again (either with the same sta_id or a
      different one). If we wait for the mac ctxt release we will
      try to allocate the queues again (as this is currently done
      in the STA allocation and not in the MAC init) although
      they weren't freed, and even if the sta_id of the STA has
      changed.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      df88c08d
    • J
      iwlwifi: mvm/pcie: adjust A-MSDU tx_cmd length in PCIe · 05e5a7e5
      Johannes Berg 提交于
      Instead of setting the tx_cmd length in the mvm code, which is
      complicated by the fact that DQA may want to temporarily store
      the SKB on the side, adjust the length in the PCIe code which
      also knows about this since it's responsible for duplicating
      all those headers that are account for in this code.
      
      As the PCIe code already relies on the tx_cmd->len field, this
      doesn't really introduce any new dependencies.
      
      To make this possible we need to move the memcpy() of the TX
      command until after it was updated.
      
      This does even simplify the code though, since the PCIe code
      already does a lot of manipulations to build A-MSDUs correctly
      and changing the length becomes a simple operation to see how
      much was added/removed, rather than predicting it.
      
      Fixes: 24afba76 ("iwlwifi: mvm: support bss dynamic alloc/dealloc of queues")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      05e5a7e5
    • J
      iwlwifi: mvm: overwrite skb info later · bd05a5bd
      Johannes Berg 提交于
      We don't really need clear the skb's status area nor store the
      dev_cmd into it until we really commit to the frame by handing
      it to the transport - defer those operations until just before
      we do that.
      
      This doesn't entirely fix the bug with frames not getting sent
      out after having been deferred due to DQA, because it doesn't
      restore the info->driver_data[0] place that was already set to
      zero (or another value) by the A-MSDU logic.
      
      Fixes: 24afba76 ("iwlwifi: mvm: support bss dynamic alloc/dealloc of queues")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      bd05a5bd
  2. 03 2月, 2017 13 次提交
  3. 02 2月, 2017 17 次提交
  4. 01 2月, 2017 7 次提交
    • D
      Merge branch 'bgmac-phy-init' · 624374a5
      David S. Miller 提交于
      Rafał Miłecki says:
      
      ====================
      net-next: use one struct bgmac & add PHY support
      
      This patchset adds support for initializing PHY using PHY subsystem.
      It's required e.g. for wireless access point devices that use bgmac
      supported Ethernet device connected to some external PHY.
      
      Implementing this required accessing phydev in bcma specific code which
      wasn't possible with core code allocating struct bgmac on its own. This
      is why I needed to modify alloc_etherdev usage first.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      624374a5
    • R
      net: bgmac: use PHY subsystem for initializing PHY · 8e6f31ba
      Rafał Miłecki 提交于
      This adds support for using bgmac with PHYs supported by standalone PHY
      drivers. Having any PHY initialization in bgmac is hacky and shouldn't
      be extended but rather removed if anyone has hardware to test it.
      Signed-off-by: NRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8e6f31ba
    • R
      net: bgmac: drop struct bcma_mdio we don't need anymore · aa8863e5
      Rafał Miłecki 提交于
      Adding struct bcma_mdio was a workaround for bcma code not having access
      to the struct bgmac used in the core code. Now we don't duplicate this
      struct we can just use it internally in bcma code.
      
      This simplifies code & allows access to all bgmac driver details from
      all places in bcma code.
      Signed-off-by: NRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aa8863e5
    • R
      net: bgmac: allocate struct bgmac just once & don't copy it · 34a5102c
      Rafał Miłecki 提交于
      So far were were allocating struct bgmac in 3 places: platform code,
      bcma code and shared bgmac_enet_probe function. The reason for this was
      bgmac_enet_probe:
      1) Requiring early-filled struct bgmac
      2) Calling alloc_etherdev on its own in order to use netdev_priv later
      
      This solution got few drawbacks:
      1) Was duplicating allocating code
      2) Required copying early-filled struct
      3) Resulted in platform/bcma code having access only to unused struct
      
      Solve this situation by simply extracting some probe code into the new
      bgmac_alloc function.
      Signed-off-by: NRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      34a5102c
    • F
      net: dsa: bcm_sf2: Fix build module · 953046e1
      Florian Fainelli 提交于
      Commit 7318166c ("net: dsa: bcm_sf2: Add support for
      ethtool::rxnfc") added a new object to build: bcm_sf2_cfp.o, but in
      doing so, we essentially just built this object and no longer bcm_sf2.o.
      
      Fix this by creating a module named bcm-sf2.ko which links in bcm_sf2.o
      and bcm_sf2_cfp.o.
      
      Fixes: 7318166c ("net: dsa: bcm_sf2: Add support for ethtool::rxnfc")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      953046e1
    • G
      cxgb4: update latest firmware version supported · 0d909aa7
      Ganesh Goudar 提交于
      Change t4fw_version.h to update latest firmware version
      number 1.16.26.0.
      Signed-off-by: NGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0d909aa7
    • A
      net: ethtool: convert large order kmalloc allocations to vzalloc · 4d1ceea8
      Alexei Starovoitov 提交于
      under memory pressure 'ethtool -S' command may warn:
      [ 2374.385195] ethtool: page allocation failure: order:4, mode:0x242c0c0
      [ 2374.405573] CPU: 12 PID: 40211 Comm: ethtool Not tainted
      [ 2374.423071] Call Trace:
      [ 2374.423076]  [<ffffffff8148cb29>] dump_stack+0x4d/0x64
      [ 2374.423080]  [<ffffffff811667cb>] warn_alloc_failed+0xeb/0x150
      [ 2374.423082]  [<ffffffff81169cd3>] ? __alloc_pages_direct_compact+0x43/0xf0
      [ 2374.423084]  [<ffffffff8116a25c>] __alloc_pages_nodemask+0x4dc/0xbf0
      [ 2374.423091]  [<ffffffffa0023dc2>] ? cmd_exec+0x722/0xcd0 [mlx5_core]
      [ 2374.423095]  [<ffffffff811b3dcc>] alloc_pages_current+0x8c/0x110
      [ 2374.423097]  [<ffffffff81168859>] alloc_kmem_pages+0x19/0x90
      [ 2374.423099]  [<ffffffff81186e5e>] kmalloc_order_trace+0x2e/0xe0
      [ 2374.423101]  [<ffffffff811c0084>] __kmalloc+0x204/0x220
      [ 2374.423105]  [<ffffffff816c269e>] dev_ethtool+0xe4e/0x1f80
      [ 2374.423106]  [<ffffffff816b967e>] ? dev_get_by_name_rcu+0x5e/0x80
      [ 2374.423108]  [<ffffffff816d6926>] dev_ioctl+0x156/0x560
      [ 2374.423111]  [<ffffffff811d4c68>] ? mem_cgroup_commit_charge+0x78/0x3c0
      [ 2374.423117]  [<ffffffff8169d542>] sock_do_ioctl+0x42/0x50
      [ 2374.423119]  [<ffffffff8169d9c3>] sock_ioctl+0x1b3/0x250
      [ 2374.423121]  [<ffffffff811f0f42>] do_vfs_ioctl+0x92/0x580
      [ 2374.423123]  [<ffffffff8100222b>] ? do_audit_syscall_entry+0x4b/0x70
      [ 2374.423124]  [<ffffffff8100287c>] ? syscall_trace_enter_phase1+0xfc/0x120
      [ 2374.423126]  [<ffffffff811f14a9>] SyS_ioctl+0x79/0x90
      [ 2374.423127]  [<ffffffff81002bb0>] do_syscall_64+0x50/0xa0
      [ 2374.423129]  [<ffffffff817e19bc>] entry_SYSCALL64_slow_path+0x25/0x25
      
      ~1160 mlx5 counters ~= order 4 allocation which is unlikely to succeed
      under memory pressure. Convert them to vzalloc() as ethtool_get_regs() does.
      Also take care of drivers without counters similar to
      commit 67ae7cf1 ("ethtool: Allow zero-length register dumps again")
      and reduce warn_on to warn_on_once.
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4d1ceea8