1. 09 12月, 2015 12 次提交
    • T
      sock, cgroup: add sock->sk_cgroup · bd1060a1
      Tejun Heo 提交于
      In cgroup v1, dealing with cgroup membership was difficult because the
      number of membership associations was unbound.  As a result, cgroup v1
      grew several controllers whose primary purpose is either tagging
      membership or pull in configuration knobs from other subsystems so
      that cgroup membership test can be avoided.
      
      net_cls and net_prio controllers are examples of the latter.  They
      allow configuring network-specific attributes from cgroup side so that
      network subsystem can avoid testing cgroup membership; unfortunately,
      these are not only cumbersome but also problematic.
      
      Both net_cls and net_prio aren't properly hierarchical.  Both inherit
      configuration from the parent on creation but there's no interaction
      afterwards.  An ancestor doesn't restrict the behavior in its subtree
      in anyway and configuration changes aren't propagated downwards.
      Especially when combined with cgroup delegation, this is problematic
      because delegatees can mess up whatever network configuration
      implemented at the system level.  net_prio would allow the delegatees
      to set whatever priority value regardless of CAP_NET_ADMIN and net_cls
      the same for classid.
      
      While it is possible to solve these issues from controller side by
      implementing hierarchical allowable ranges in both controllers, it
      would involve quite a bit of complexity in the controllers and further
      obfuscate network configuration as it becomes even more difficult to
      tell what's actually being configured looking from the network side.
      While not much can be done for v1 at this point, as membership
      handling is sane on cgroup v2, it'd be better to make cgroup matching
      behave like other network matches and classifiers than introducing
      further complications.
      
      In preparation, this patch updates sock->sk_cgrp_data handling so that
      it points to the v2 cgroup that sock was created in until either
      net_prio or net_cls is used.  Once either of the two is used,
      sock->sk_cgrp_data reverts to its previous role of carrying prioidx
      and classid.  This is to avoid adding yet another cgroup related field
      to struct sock.
      
      As the mode switching can happen at most once per boot, the switching
      mechanism is aimed at lowering hot path overhead.  It may leak a
      finite, likely small, number of cgroup refs and report spurious
      prioidx or classid on switching; however, dynamic updates of prioidx
      and classid have always been racy and lossy - socks between creation
      and fd installation are never updated, config changes don't update
      existing sockets at all, and prioidx may index with dead and recycled
      cgroup IDs.  Non-critical inaccuracies from small race windows won't
      make any noticeable difference.
      
      This patch doesn't make use of the pointer yet.  The following patch
      will implement netfilter match for cgroup2 membership.
      
      v2: Use sock_cgroup_data to avoid inflating struct sock w/ another
          cgroup specific field.
      
      v3: Add comments explaining why sock_data_prioidx() and
          sock_data_classid() use different fallback values.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Daniel Wagner <daniel.wagner@bmw-carit.de>
      CC: Neil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd1060a1
    • T
      net: wrap sock->sk_cgrp_prioidx and ->sk_classid inside a struct · 2a56a1fe
      Tejun Heo 提交于
      Introduce sock->sk_cgrp_data which is a struct sock_cgroup_data.
      ->sk_cgroup_prioidx and ->sk_classid are moved into it.  The struct
      and its accessors are defined in cgroup-defs.h.  This is to prepare
      for overloading the fields with a cgroup pointer.
      
      This patch mostly performs equivalent conversions but the followings
      are noteworthy.
      
      * Equality test before updating classid is removed from
        sock_update_classid().  This shouldn't make any noticeable
        difference and a similar test will be implemented on the helper side
        later.
      
      * sock_update_netprioidx() now takes struct sock_cgroup_data and can
        be moved to netprio_cgroup.h without causing include dependency
        loop.  Moved.
      
      * The dummy version of sock_update_netprioidx() converted to a static
        inline function while at it.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2a56a1fe
    • T
      netprio_cgroup: limit the maximum css->id to USHRT_MAX · 297dbde1
      Tejun Heo 提交于
      netprio builds per-netdev contiguous priomap array which is indexed by
      css->id.  The array is allocated using kzalloc() effectively limiting
      the maximum ID supported to some thousand range.  This patch caps the
      maximum supported css->id to USHRT_MAX which should be way above what
      is actually useable.
      
      This allows reducing sock->sk_cgrp_prioidx to u16 from u32.  The freed
      up part will be used to overload the cgroup related fields.
      sock->sk_cgrp_prioidx's position is swapped with sk_mark so that the
      two cgroup related fields are adjacent.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NDaniel Wagner <daniel.wagner@bmw-carit.de>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      CC: Neil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      297dbde1
    • D
      Merge branch 'for-4.5-ancestor-test' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · bc9b145a
      David S. Miller 提交于
      Preparatory changes for some new socket cgroup infrastructure
      and netfilter targets.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc9b145a
    • S
      Revert "Merge branch 'vsock-virtio'" · 8ac2837c
      Stefan Hajnoczi 提交于
      This reverts commit 0d76d6e8 and merge
      commit c402293b, reversing changes made
      to c89359a4.
      
      The virtio-vsock device specification is not finalized yet.  Michael
      Tsirkin voiced concerned about merging this code when the hardware
      interface (and possibly the userspace interface) could still change.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ac2837c
    • D
      Merge branch 'sh_eth-optimize-mdio' · bc0b8b66
      David S. Miller 提交于
      Sergei Shtylyov says:
      
      ====================
      sh_eth: optimize MDIO code
      
      Here's a set of 3 patches against DaveM's 'net-next.git' repo which
      gets rid of ~35 LoCs in the MDIO bitbang methods.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc0b8b66
    • S
      sh_eth: get rid of bb_{set|clr|read}() · 78fa3c5c
      Sergei Shtylyov 提交于
      After the MDIO bitbang code consolidation, there's no need anymore for
      bb_{set|clr}() as well as bb_read() -- just expand them inline, thus
      saving more LoCs...
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      78fa3c5c
    • S
      sh_eth: factor out common code from MDIO bitbang methods · 39b4b06b
      Sergei Shtylyov 提交于
      sh_mm[cd]_ctrl()  and sh_set_mdio() all look mostly the same -- factor out
      their common code and put it into sh_mdio_ctrl().
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      39b4b06b
    • S
      sh_eth: remove mask fields from 'struct bb_info' · 3242e2b4
      Sergei Shtylyov 提交于
      The MDIO control bits are always mapped to the same bits of the same register
      (PIR), so there's no need to store their masks in the 'struct bb_info'...
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3242e2b4
    • J
      drivers: net: xgene: constify xgene_mac_ops and xgene_port_ops structures · 3cdb7309
      Julia Lawall 提交于
      The xgene_mac_ops and xgene_port_ops structures are never modified, so
      declare them as const.
      
      Done with the help of Coccinelle.
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3cdb7309
    • D
      Merge tag 'wireless-drivers-next-for-davem-2015-12-07' of... · e370abd9
      David S. Miller 提交于
      Merge tag 'wireless-drivers-next-for-davem-2015-12-07' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      Kalle Vallo says:
      
      ====================
      brcfmac
      
      * support bcm4359 which can operate in two bands concurrently
      * disable runtime pm for USB avoiding issues
      * use generic pm callback in PCIe driver
      * support wowlan wake indication reporting
      * add beamforming support
      * unified handling of firmware files
      
      ath10k
      
      * support Manegement Frame Protection (MFP)
      * add thermal throttling support for 10.4 firmware
      * add support for pktlog in QCA99X0
      * add debugfs file to enable Bluetooth coexistence feature
      * use firmware's native mesh interface type instead of raw mode
      
      iwlwifi
      
      * BT coex improvements
      * D3 operation bugfixes
      * rate control improvements
      * firmware debugging infra improvements
      * ground work for multi Rx
      * various security fixes
      ====================
      
      Conflicts:
      	drivers/net/wireless/ath/ath10k/pci.c
      
      The conflict resolution at:
      
      	http://article.gmane.org/gmane.linux.kernel.next/37391
      
      by Stephen Rothwell was used.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e370abd9
    • R
      net: Fix inverted test in __skb_recv_datagram · 760a4322
      Rainer Weikusat 提交于
      As the kernel generally uses negated error numbers, *err needs to be
      compared with -EAGAIN (d'oh).
      Signed-off-by: NRainer Weikusat <rweikusat@mobileactivedefense.com>
      Fixes: ea3793ee ("core: enable more fine-grained datagram reception control")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      760a4322
  2. 08 12月, 2015 10 次提交
  3. 07 12月, 2015 16 次提交
    • I
      mac80211: handle HW ROC expired properly · 1b894521
      Ilan Peer 提交于
      In case of HW ROC, when the driver reports that the ROC expired,
      it is not sufficient to purge the ROCs based on the remaining
      time, as it possible that the device finished the ROC session
      before the actual requested duration.
      
      To handle such cases, in case of ROC expired notification from
      the driver, complete all the ROCs which are marked with hw_begun,
      regardless of the remaining duration.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1b894521
    • R
      af_unix: fix unix_dgram_recvmsg entry locking · 64874280
      Rainer Weikusat 提交于
      The current unix_dgram_recvsmg code acquires the u->readlock mutex in
      order to protect access to the peek offset prior to calling
      __skb_recv_datagram for actually receiving data. This implies that a
      blocking reader will go to sleep with this mutex held if there's
      presently no data to return to userspace. Two non-desirable side effects
      of this are that a later non-blocking read call on the same socket will
      block on the ->readlock mutex until the earlier blocking call releases it
      (or the readers is interrupted) and that later blocking read calls
      will wait longer than the effective socket read timeout says they
      should: The timeout will only start 'ticking' once such a reader hits
      the schedule_timeout in wait_for_more_packets (core.c) while the time it
      already had to wait until it could acquire the mutex is unaccounted for.
      
      The patch avoids both by using the __skb_try_recv_datagram and
      __skb_wait_for_more packets functions created by the first patch to
      implement a unix_dgram_recvmsg read loop which releases the readlock
      mutex prior to going to sleep and reacquires it as needed
      afterwards. Non-blocking readers will thus immediately return with
      -EAGAIN if there's no data available regardless of any concurrent
      blocking readers and all blocking readers will end up sleeping via
      schedule_timeout, thus honouring the configured socket receive timeout.
      Signed-off-by: NRainer Weikusat <rweikusat@mobileactivedefense.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64874280
    • R
      core: enable more fine-grained datagram reception control · ea3793ee
      Rainer Weikusat 提交于
      The __skb_recv_datagram routine in core/ datagram.c provides a general
      skb reception factility supposed to be utilized by protocol modules
      providing datagram sockets. It encompasses both the actual recvmsg code
      and a surrounding 'sleep until data is available' loop. This is
      inconvenient if a protocol module has to use additional locking in order
      to maintain some per-socket state the generic datagram socket code is
      unaware of (as the af_unix code does). The patch below moves the recvmsg
      proper code into a new __skb_try_recv_datagram routine which doesn't
      sleep and renames wait_for_more_packets to
      __skb_wait_for_more_packets, both routines being exported interfaces. The
      original __skb_recv_datagram routine is reimplemented on top of these
      two functions such that its user-visible behaviour remains unchanged.
      Signed-off-by: NRainer Weikusat <rweikusat@mobileactivedefense.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ea3793ee
    • A
      PHY: DP83867: Remove looking in parent device for OF properties · 7bf9ae01
      Andrew Lunn 提交于
      Device tree properties for a phy device are expected to be in the phy
      node. The current code for the DP83867 also tries to look in the
      parent node. The devices binding documentation does not mention this,
      no current device tree file makes use of this, and it is not behaviour
      we want. So remove looking in the parent device.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7bf9ae01
    • B
      net: cdc_ncm: add "ndp_to_end" sysfs attribute · 404814af
      Bjørn Mork 提交于
      Adding a writable sysfs attribute for the "NDP to end"
      quirk flag.
      
      This makes it easier for end users to test new devices for
      this firmware bug.  We've been lucky so far, but we should
      not depend on reporters capable of rebuilding the driver.
      
      Cc: Enrico Mioso <mrkiko.rs@gmail.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      404814af
    • D
      Merge branch 'mlx4-HA-LAG-SRIOV-VF' · 0fe3e204
      David S. Miller 提交于
      Or Gerlitz says:
      
      ====================
      Add HA and LAG support for mlx4 SRIOV VFs
      
      This series is built upon the code added in commit ce388fff "Merge branch
      'mlx4-next'" which added HA and LAG support to mlx4 RoCE and SRIOV services.
      
      We add HA and Link Aggregation support to single ported mlx4 Ethernet VFs.
      
      In this case, the PF Ethernet interfaces are bonded, the VFs see single
      port HW devices (already supported) -- however, now this port is highly
      available. This means that all VF HW QPs (both VF Ethernet driver and VF
      RoCE / RAW QPs) are subject to the V2P (Virtual-To-Physical) mapping which
      is managed by the PF driver, and hence resilient across link failures and
      such events.
      
      When bonding operates in Dynamic link aggregation (802.3ad) mode, traffic
      from each VF will go over the VF "base port" (the port this VF is assigned
      to by the admin) as long as this port is up. When the port fails, traffic
      from all VFs that are defined on this port will move to the other port, and
      be back to their base-port when it recovers.
      
      Moni and Or.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0fe3e204
    • M
      net/mlx4_core: Support the HA mode for SRIOV VFs too · e57968a1
      Moni Shoua 提交于
      When the mlx4 driver runs in HA mode, and all VFs are single ported
      ones, we make their single port Highly-Available.
      
      This is done by taking advantage of the HA mode properties (following
      bonding changes with programming the port V2P map, etc) and adding
      the missing parts which are unique to SRIOV such as mirroring VF
      steering rules on both ports.
      
      Due to limits on the MAC and VLAN table this mode is enabled only when
      number of total VFs is under 64.
      Signed-off-by: NMoni Shoua <monis@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e57968a1
    • O
      IB/mlx4: Use the VF base-port when demuxing mad from wire · f1b4e12a
      Or Gerlitz 提交于
      Under HA mode, it's possible that the VF registered its GID
      (and expects to get mads through the PV scheme) on a port which is
      different from the one this mad arrived on, due to HA fail over.
      
      Therefore, if the gid is not matched on the port that the packet arrived
      on, check for a match on the other port if HA mode is active -- and if a
      match is found on the other port, continue processing the mad using that
      other port.
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f1b4e12a
    • M
      net/mlx4_core: Keep VLAN/MAC tables mirrored in multifunc HA mode · 5f61385d
      Moni Shoua 提交于
      Due to HW limitations, indexes to MAC and VLAN tables are always taken
      from the table of the actual port. So, if a resource holds an index to
      a table, it may refer to different values during the lifetime of the
      resource,  unless the tables are mirrored. Also, even when
      driver is not in HA mode the policy of allocating an index to these
      tables is such to make sure, as much as possible, that when the time
      comes the mirroring will be successful. This means that in multifunction
      mode the allocation of a free index in a port's table tries to make sure
      that the same index in the other's port table is also free.
      Signed-off-by: NMoni Shoua <monis@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f61385d
    • M
      net/mlx4_core: Support mirroring VF DMFS rules on both ports · 78efed27
      Moni Shoua 提交于
      Under HA mode, steering rules set by VFs should be mirrored on both
      ports of the device so packets will be accepted no matter on which
      port they arrived.
      
      Since getting into HA mode is done dynamically when the user bonds mlx4
      Ethernet netdevs, we keep hold of the VF DMFS rule mbox with the port
      value flipped (1->2,2->1) and execute the mirroring when getting into
      HA mode. Later, when going out of HA mode, we unset the mirrored rules.
      In that context note that mirrored rules cannot be removed explicitly.
      Signed-off-by: NMoni Shoua <monis@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      78efed27
    • M
      net/mlx4_core: Use both physical ports to dispatch link state events to VF · 8d80d04a
      Moni Shoua 提交于
      Under HA mode, the link down event should be sent to VFs only if both
      ports are down.
      Signed-off-by: NMoni Shoua <monis@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d80d04a
    • O
      net/mlx4_core: Use both physical ports to set the VF link state · e34305c8
      Or Gerlitz 提交于
      In HA mode, the link state for VFs for which the policy is "auto"
      (i.e. follow the physical link state) should be ORed from both ports.
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e34305c8
    • J
      VSOCK: fix returnvar.cocci warnings · 0d76d6e8
      Julia Lawall 提交于
      Remove unneeded variable used to store return value.
      
      Generated by: scripts/coccinelle/misc/returnvar.cocci
      
      CC: Asias He <asias@redhat.com>
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NJulia Lawall <julia.lawall@lip6.fr>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0d76d6e8
    • B
      net: qmi_wwan: should hold RTNL while changing netdev type · 6c730080
      Bjørn Mork 提交于
      The notifier calls were thrown in as a last-minute fix for an
      imagined "this device could be part of a bridge" problem. That
      revealed a certain lack of locking.  Not to mention testing...
      
      Avoid this splat:
      
      RTNL: assertion failed at net/core/dev.c (1639)
      CPU: 0 PID: 4293 Comm: bash Not tainted 4.4.0-rc3+ #358
      Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011
       0000000000000000 ffff8800ad253d60 ffffffff8122f7cf ffff8800ad253d98
       ffff8800ad253d88 ffffffff813833ab 0000000000000002 ffff880230f48560
       ffff880230a12900 ffff8800ad253da0 ffffffff813833da 0000000000000002
      Call Trace:
       [<ffffffff8122f7cf>] dump_stack+0x4b/0x63
       [<ffffffff813833ab>] call_netdevice_notifiers_info+0x3d/0x59
       [<ffffffff813833da>] call_netdevice_notifiers+0x13/0x15
       [<ffffffffa09be227>] raw_ip_store+0x81/0x193 [qmi_wwan]
       [<ffffffff8131e149>] dev_attr_store+0x20/0x22
       [<ffffffff811d858b>] sysfs_kf_write+0x49/0x50
       [<ffffffff811d8027>] kernfs_fop_write+0x10a/0x151
       [<ffffffff8117249a>] __vfs_write+0x26/0xa5
       [<ffffffff81085ed4>] ? percpu_down_read+0x53/0x7f
       [<ffffffff81174c9e>] ? __sb_start_write+0x5f/0xb0
       [<ffffffff81174c9e>] ? __sb_start_write+0x5f/0xb0
       [<ffffffff81172c37>] vfs_write+0xa3/0xe7
       [<ffffffff811734ad>] SyS_write+0x50/0x7e
       [<ffffffff8145c517>] entry_SYSCALL_64_fastpath+0x12/0x6f
      
      Fixes: 32f7adf6 ("net: qmi_wwan: support "raw IP" mode")
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6c730080
    • S
      Revert "i40e: remove CONFIG_I40E_VXLAN" · 6633d381
      Singhai, Anjali 提交于
      This reverts commit 8fe26999.
      The case where VXLAN is a module and i40e driver is inbuilt
      will not be handled properly with this change since i40e
      will have an undefined symbol vxlan_get_rx_port in it.
      
      v2: Add a signed-off-by.
      Signed-off-by: NAnjali Singhai Jain <anjali.singhai@intel.com>
      Acked-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6633d381
    • D
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · b48565f5
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2015-12-05
      
      This series contains updates to fm10k only.
      
      Jacob provides the remaining fm10k patches in the series.  First change
      ensures that all the logic regarding the setting of netdev features is
      consolidated in one place of the driver.  Fixed an issue where an assumption
      was being made on how many queues are available, especially when init_hw_vf()
      errors out.  Fixed up an number of issues with init_hw() where failures
      were not being handled properly or at all, so update the driver to check
      returned error codes and respond appropriately.  Fixed up typecasting
      issues found where either the incorrect typecast size was used or
      explicitly typecast values.  Added additional debugging statistics and
      rename statistic to better reflect its true value.  Added support for
      ITR scaling based on PCIe link speed for fm10k.  Fixed up code comment
      where "hardware" was misspelled.
      
      v2: Dropped patches #1 and #10 from original submission, patch #1 was from
          Nick Krause and due to his past kernel interactions, dropping his patch.
          Patch #10 had questions and concerns from Tom Herbert which cannot be
          addressed at this time since the author (Jacob Keller) is currently on
          sabbatical, so dropping this patch for now until we can properly address
          Tom's questions and concerns.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b48565f5
  4. 06 12月, 2015 2 次提交