1. 06 10月, 2012 3 次提交
  2. 05 10月, 2012 14 次提交
    • G
      ipv6: release reference of ip6_null_entry's dst entry in __ip6_del_rt · 6825a26c
      Gao feng 提交于
      as we hold dst_entry before we call __ip6_del_rt,
      so we should alse call dst_release not only return
      -ENOENT when the rt6_info is ip6_null_entry.
      
      and we already hold the dst entry, so I think it's
      safe to call dst_release out of the write-read lock.
      Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6825a26c
    • D
      Remove noisy printks from llcp_sock_connect · 32418cfe
      Dave Jones 提交于
      Validation of userspace input shouldn't trigger dmesg spamming.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32418cfe
    • D
      Merge branch 'fixes-for-3.7' of git://gitorious.org/linux-can/linux-can · 19d4e663
      David S. Miller 提交于
      Marc Kleine-Budde says:
      
      ====================
      here are three patches for the v3.7 release cycle. Two patches by Peter Senna
      Tschudin which fix the return values in the error handling path of the sja1000
      peak pci and pcmcia driver. And one patch by myself that fixes a compile
      breakage of the mpc5xxx_can mscan driver due to a section conflict.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      19d4e663
    • E
      tipc: prevent dropped connections due to rcvbuf overflow · e57edf6b
      Erik Hugne 提交于
      When large buffers are sent over connected TIPC sockets, it
      is likely that the sk_backlog will be filled up on the
      receiver side, but the TIPC flow control mechanism is happily
      unaware of this since that is based on message count.
      
      The sender will receive a TIPC_ERR_OVERLOAD message when this occurs
      and drop it's side of the connection, leaving it stale on
      the receiver end.
      
      By increasing the sk_rcvbuf to a 'worst case' value, we avoid the
      overload caused by a full backlog queue and the flow control
      will work properly.
      
      This worst case value is the max TIPC message size times
      the flow control window, multiplied by two because a sender
      will transmit up to double the window size before a port is marked
      congested.
      We multiply this by 2 to account for the sk_buff and other overheads.
      Signed-off-by: NErik Hugne <erik.hugne@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e57edf6b
    • D
      silence some noisy printks in irda · 09689581
      Dave Jones 提交于
      Fuzzing causes these printks to spew constantly.
      Changing them to DEBUG statements is consistent with other usage in the file,
      and makes them disappear when CONFIG_IRDA_DEBUG is disabled.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09689581
    • E
      team: set qdisc_tx_busylock to avoid LOCKDEP splat · b3c581d5
      Eric Dumazet 提交于
      If a qdisc is installed on a team device, its possible to get
      a lockdep splat under stress, because nested dev_queue_xmit() can
      lock busylock a second time (on a different device, so its a false
      positive)
      
      Avoid this problem using a distinct lock_class_key for team
      devices.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jiri Pirko <jpirko@redhat.com>
      Acked-by: NJiri Pirko <jiri@resnulli.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3c581d5
    • E
      bonding: set qdisc_tx_busylock to avoid LOCKDEP splat · 49ee4920
      Eric Dumazet 提交于
      If a qdisc is installed on a bonding device, its possible to get
      following lockdep splat under stress :
      
       =============================================
       [ INFO: possible recursive locking detected ]
       3.6.0+ #211 Not tainted
       ---------------------------------------------
       ping/4876 is trying to acquire lock:
        (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-...}, at: [<ffffffff8157a191>] dev_queue_xmit+0xe1/0x830
      
       but task is already holding lock:
        (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-...}, at: [<ffffffff8157a191>] dev_queue_xmit+0xe1/0x830
      
       other info that might help us debug this:
        Possible unsafe locking scenario:
      
              CPU0
              ----
         lock(dev->qdisc_tx_busylock ?: &qdisc_tx_busylock);
         lock(dev->qdisc_tx_busylock ?: &qdisc_tx_busylock);
      
        *** DEADLOCK ***
      
        May be due to missing lock nesting notation
      
       6 locks held by ping/4876:
        #0:  (sk_lock-AF_INET){+.+.+.}, at: [<ffffffff815e5030>] raw_sendmsg+0x600/0xc30
        #1:  (rcu_read_lock_bh){.+....}, at: [<ffffffff815ba4bd>] ip_finish_output+0x12d/0x870
        #2:  (rcu_read_lock_bh){.+....}, at: [<ffffffff8157a0b0>] dev_queue_xmit+0x0/0x830
        #3:  (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+.-...}, at: [<ffffffff8157a191>] dev_queue_xmit+0xe1/0x830
        #4:  (&bond->lock){++.?..}, at: [<ffffffffa02128c1>] bond_start_xmit+0x31/0x4b0 [bonding]
        #5:  (rcu_read_lock_bh){.+....}, at: [<ffffffff8157a0b0>] dev_queue_xmit+0x0/0x830
      
       stack backtrace:
       Pid: 4876, comm: ping Not tainted 3.6.0+ #211
       Call Trace:
        [<ffffffff810a0145>] __lock_acquire+0x715/0x1b80
        [<ffffffff810a256b>] ? mark_held_locks+0x9b/0x100
        [<ffffffff810a1bf2>] lock_acquire+0x92/0x1d0
        [<ffffffff8157a191>] ? dev_queue_xmit+0xe1/0x830
        [<ffffffff81726b7c>] _raw_spin_lock+0x3c/0x50
        [<ffffffff8157a191>] ? dev_queue_xmit+0xe1/0x830
        [<ffffffff8106264d>] ? rcu_read_lock_bh_held+0x5d/0x90
        [<ffffffff8157a191>] dev_queue_xmit+0xe1/0x830
        [<ffffffff8157a0b0>] ? netdev_pick_tx+0x570/0x570
        [<ffffffffa0212a6a>] bond_start_xmit+0x1da/0x4b0 [bonding]
        [<ffffffff815796d0>] dev_hard_start_xmit+0x240/0x6b0
        [<ffffffff81597c6e>] sch_direct_xmit+0xfe/0x2a0
        [<ffffffff8157a249>] dev_queue_xmit+0x199/0x830
        [<ffffffff8157a0b0>] ? netdev_pick_tx+0x570/0x570
        [<ffffffff815ba96f>] ip_finish_output+0x5df/0x870
        [<ffffffff815ba4bd>] ? ip_finish_output+0x12d/0x870
        [<ffffffff815bb964>] ip_output+0x54/0xf0
        [<ffffffff815bad48>] ip_local_out+0x28/0x90
        [<ffffffff815bc444>] ip_send_skb+0x14/0x50
        [<ffffffff815bc4b2>] ip_push_pending_frames+0x32/0x40
        [<ffffffff815e536a>] raw_sendmsg+0x93a/0xc30
        [<ffffffff8128d570>] ? selinux_file_send_sigiotask+0x1f0/0x1f0
        [<ffffffff8109ddb4>] ? __lock_is_held+0x54/0x80
        [<ffffffff815f6730>] ? inet_recvmsg+0x220/0x220
        [<ffffffff8109ddb4>] ? __lock_is_held+0x54/0x80
        [<ffffffff815f6855>] inet_sendmsg+0x125/0x240
        [<ffffffff815f6730>] ? inet_recvmsg+0x220/0x220
        [<ffffffff8155cddb>] sock_sendmsg+0xab/0xe0
        [<ffffffff810a1650>] ? lock_release_non_nested+0xa0/0x2e0
        [<ffffffff810a1650>] ? lock_release_non_nested+0xa0/0x2e0
        [<ffffffff8155d18c>] __sys_sendmsg+0x37c/0x390
        [<ffffffff81195b2a>] ? fsnotify+0x2ca/0x7e0
        [<ffffffff811958e8>] ? fsnotify+0x88/0x7e0
        [<ffffffff81361f36>] ? put_ldisc+0x56/0xd0
        [<ffffffff8116f98a>] ? fget_light+0x3da/0x510
        [<ffffffff8155f6c4>] sys_sendmsg+0x44/0x80
        [<ffffffff8172fc22>] system_call_fastpath+0x16/0x1b
      
      Avoid this problem using a distinct lock_class_key for bonding
      devices.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49ee4920
    • N
      sctp: check src addr when processing SACK to update transport state · edfee033
      Nicolas Dichtel 提交于
      Suppose we have an SCTP connection with two paths. After connection is
      established, path1 is not available, thus this path is marked as inactive. Then
      traffic goes through path2, but for some reasons packets are delayed (after
      rto.max). Because packets are delayed, the retransmit mechanism will switch
      again to path1. At this time, we receive a delayed SACK from path2. When we
      update the state of the path in sctp_check_transmitted(), we do not take into
      account the source address of the SACK, hence we update the wrong path.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      edfee033
    • N
      sctp: fix a typo in prototype of __sctp_rcv_lookup() · 57565993
      Nicolas Dichtel 提交于
      Just to avoid confusion when people only reads this prototype.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57565993
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net · e7b565e7
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      This series contains fixes/updates to ixgbe only.  There are three
      PTP fixes, polling loop fix and the addition of a device id (X540-AT1).
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7b565e7
    • E
      ipv4: add a fib_type to fib_info · f4ef85bb
      Eric Dumazet 提交于
      commit d2d68ba9 (ipv4: Cache input routes in fib_info nexthops.)
      introduced a regression for forwarding.
      
      This was hard to reproduce but the symptom was that packets were
      delivered to local host instead of being forwarded.
      
      David suggested to add fib_type to fib_info so that we dont
      inadvertently share same fib_info for different purposes.
      
      With help from Julian Anastasov who provided very helpful
      hints, reproduced here :
      
      <quote>
              Can it be a problem related to fib_info reuse
      from different routes. For example, when local IP address
      is created for subnet we have:
      
      broadcast 192.168.0.255 dev DEV  proto kernel  scope link  src
      192.168.0.1
      192.168.0.0/24 dev DEV  proto kernel  scope link  src 192.168.0.1
      local 192.168.0.1 dev DEV  proto kernel  scope host  src 192.168.0.1
      
              The "dev DEV  proto kernel  scope link  src 192.168.0.1" is
      a reused fib_info structure where we put cached routes.
      The result can be same fib_info for 192.168.0.255 and
      192.168.0.0/24. RTN_BROADCAST is cached only for input
      routes. Incoming broadcast to 192.168.0.255 can be cached
      and can cause problems for traffic forwarded to 192.168.0.0/24.
      So, this patch should solve the problem because it
      separates the broadcast from unicast traffic.
      
              And the ip_route_input_slow caching will work for
      local and broadcast input routes (above routes 1 and 3) just
      because they differ in scope and use different fib_info.
      
      </quote>
      
      Many thanks to Chris Clayton for his patience and help.
      Reported-by: NChris Clayton <chris2553@googlemail.com>
      Bisected-by: NChris Clayton <chris2553@googlemail.com>
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Julian Anastasov <ja@ssi.bg>
      Tested-by: NChris Clayton <chris2553@googlemail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4ef85bb
    • M
      can: mpc5xxx_can: fix section type conflict · 8cf437a0
      Marc Kleine-Budde 提交于
      Since commit:
          6d99c4c5 can: mpc5xxx_can: make data used as *of_device_id.data const
      
      both "struct mpc5xxx_can_data mpc5200_can_data" and "mpc5121_can_data" are
      marked as "const" but also as "__devinitdata". This leads to the following
      compile error:
      
      drivers/net/can/mscan/mpc5xxx_can.c:383: error: mpc5200_can_data causes a section type conflict
      drivers/net/can/mscan/mpc5xxx_can.c:383: error: mpc5200_can_data causes a section type conflict
      drivers/net/can/mscan/mpc5xxx_can.c:388: error: mpc5121_can_data causes a section type conflict
      drivers/net/can/mscan/mpc5xxx_can.c:388: error: mpc5121_can_data causes a section type conflict
      
      This patch changes the "__devinitdata" to "__devinitconst" and marks the
      "struct of_device_id mpc5xxx_can_table" as "const" and "__devinitconst", too.
      Acked-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      8cf437a0
    • P
      can: peak_pcmcia: fix error return code · ba9b6f9f
      Peter Senna Tschudin 提交于
      Convert a nonnegative error return code to a negative one, as returned
      elsewhere in the function.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      (
      if@p1 (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret@p1 = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      ba9b6f9f
    • P
      can: peak_pci: fix error return code · 4a4bfdcd
      Peter Senna Tschudin 提交于
      Convert a nonnegative error return code to a negative one, as returned
      elsewhere in the function.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      (
      if@p1 (\(ret < 0\|ret != 0\))
       { ... return ret; }
      |
      ret@p1 = 0
      )
      ... when != ret = e1
          when != &ret
      *if(...)
      {
        ... when != ret = e2
            when forall
       return ret;
      }
      // </smpl>
      Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      4a4bfdcd
  3. 04 10月, 2012 3 次提交
  4. 03 10月, 2012 20 次提交
    • J
      ixgbe: add support for X540-AT1 · df376f0d
      joshua.a.hay@intel.com 提交于
      This patch adds device support for Ethernet Controller X540-AT1.
      Signed-off-by: NJosh Hay <joshua.a.hay@intel.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      df376f0d
    • E
      ixgbe: fix poll loop for FDIRCTRL.INIT_DONE bit · 4a97df0b
      Emil Tantilov 提交于
      The loop in ixgbe_reinit_fdir_tables_82599() only polls for up to 100us
      resulting in failures to update the FDIR filter table at 1Gbps and 10Gbps
      when under load.
      
      The poll times for FDIRCTRL.INIT_DONE are 55us, 550us and 5.5ms for 10Gbps,
      1Gbps and 100Mbps respectively.
      
      This patch sets the wait time to be the same as in ixgbe_fdir_enable_82599()
      Reported-by: NBhushan <shashi-sm@users.sf.net>
      Signed-off-by: NEmil Tantilov <emil.s.tantilov@intel.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      4a97df0b
    • J
      ixgbe: fix PTP ethtool timestamping function · 1cc92eb8
      Jacob Keller 提交于
      This patch fixes a development issue that occurred due to invalid modes reported
      in the ethtool get_ts_info function. The issue is resolved by removing
      unsupported modes from the Rx supported list.
      
      CC: stable <stable@vger.kernel.org> [3.5]
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      1cc92eb8
    • J
      ixgbe: (PTP) Fix PPS interrupt code · db0677fa
      Jacob Keller 提交于
      Driver was enabling PPS interrupt even when user wasn't enabling it via the
      ptp core. This patch fixes the PPS so that it is only enabled explicitly, and
      moves the interrupt enabling code into the correct location in the driver
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Cc: Stable <stable@vger.kernel.org> [3.5]
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      db0677fa
    • J
      ixgbe: Fix PTP X540 SDP alignment code for PPS signal · 82083673
      Jacob Keller 提交于
      This patch fixes a bug in the method used for calculating the trigger
      alignment for SDP0 when enabling a PPS output on the X540. The alignment math
      wasn't properly taking into account the overflow cyclecounter, and was
      misaligning the pin triggers so that two X540 devices synced properly had
      mis-aligned SDP pins. This patch fixes the math to calculate the correct
      seconds alignment for the PPS signal.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      82083673
    • M
      tg3: Fix sparse warnings. · 86449944
      Michael Chan 提交于
      drivers/net/ethernet/broadcom/tg3.c:8121:8: warning: symbol 'i' shadows an earlier one
      drivers/net/ethernet/broadcom/tg3.c:8003:6: originally declared here
      drivers/net/ethernet/broadcom/tg3.c:785:5: warning: symbol 'tg3_ape_scratchpad_read' was not declared. Should it be static?
      drivers/net/ethernet/broadcom/tg3.c:7781:19: warning: Using plain integer as NULL pointer
      drivers/net/ethernet/broadcom/tg3.c:10231:31: error: bad constant expression
      Reported-by: NFengguang Wu <fenguang.wu@intel.com>
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      86449944
    • A
      8021q: fix mac_len recomputation in vlan_untag() · 5316cf9a
      Antonio Quartulli 提交于
      skb_reset_mac_len() relies on the value of the skb->network_header pointer,
      therefore we must wait for such pointer to be recalculated before computing
      the new mac_len value.
      Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5316cf9a
    • D
      bnx2x: use strlcpy() to copy a string · 786fdf0b
      Dan Carpenter 提交于
      DRV_MODULE_VERSION is smaller than the ->version buffer so the memcpy()
      copies 1 byte past the end of the string.  It's not super harmful, but
      it makes the static checkers complain.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      786fdf0b
    • N
      ipv6: don't add link local route when there is no link local address · 62b54dd9
      Nicolas Dichtel 提交于
      When an address is added on loopback (ip -6 a a 2002::1/128 dev lo), a route
      to fe80::/64 is added in the main table:
        unreachable fe80::/64 dev lo  proto kernel  metric 256  error -101
      
      This route does not match any prefix (no fe80:: address on lo). In fact,
      addrconf_dev_config() will not add link local address because this function
      filters interfaces by type. If the link local address is added manually, the
      route to the link local prefix will be automatically added by
      addrconf_add_linklocal().
      Note also, that this route is not deleted when the address is removed.
      
      After looking at the code, it seems that addrconf_add_lroute() is redundant with
      addrconf_add_linklocal(), because this function will add the link local route
      when the link local address is configured.
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62b54dd9
    • H
      net: ethernet: davinci_cpdma: decrease the desc count when cleaning up the remaining packets · ffb5ba90
      htbegin 提交于
      chan->count is used by rx channel. If the desc count is not updated by
      the clean up loop in cpdma_chan_stop, the value written to the rxfree
      register in cpdma_chan_start will be incorrect.
      Signed-off-by: NTao Hou <hotforest@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ffb5ba90
    • D
      pch_gbe: Fix PTP dependencies. · da158646
      David S. Miller 提交于
      The config combination:
      
              CONFIG_PCH_GBE=y
              CONFIG_PCH_PTP=y
              CONFIG_PTP_1588_CLOCK=m
      
      doesn't work, because then you have a built-in kernel
      object (the PCH_PTP code) referring to symbols in a
      module (PTP_1588_CLOCK).
      
      Fix this like IXGBE, by using "select PTP_1588_CLOCK"
      instead of a "depends on".
      Reported-by: NHaicheng Li <haicheng.li@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      da158646
    • L
      Merge tag 'spi-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc · 7fe0b14b
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "No framework work here, only a bunch of driver updates of varying
        sizes:
      
         - Factoring out of the core hardware support from the MXS MMC driver
           by Marek Vasut to allow the hardware to also be used for SPI.
         - Lots of error handling cleanups from Guenter Roeck
         - Removal of the existing Tegra driver which is quite comprehensively
           broken as detailed in the changelog for the removal.
         - DT suppport for the PL022 and GPIO drivers.
         - pinctrl support for OMAP and PL022."
      
      Pulling from Mark Brown as Grant Likely is still busy moving.
      
      * tag 'spi-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (53 commits)
        spi: remove completely broken Tegra driver
        spi/imx: set the inactive state of the clock according to the clock polarity
        spi/pl022: get/put resources on suspend/resume
        spi/pl022: use more managed resources
        spi/pl022: Devicetree support w/o platform data
        spi/s3c64xx: Don't free controller_data on non-dt platforms
        spi: omap2-mcspi: add pinctrl support
        spi/pl022: adopt pinctrl support
        spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function
        spi/gpio: Fix stub for spi_gpio_probe_dt()
        spi/mxs: Make the SPI block clock speed configurable via DT
        spi: spi-sh-hspi: drop frees of devm_ alloc'd data
        spi/pl022: Fix chipselects pointer computation
        spi: spi-tle62x0: Use module_spi_driver macro
        mxs/spi: Rework the mxs_ssp_timeout to be more readable
        mxs/spi: Decrement the DMA/PIO border
        mxs/spi: Increment the transfer length only if transfer succeeded
        mxs/spi: Fix issues when doing long continuous transfer
        spi: spi-gpio: Add DT bindings
        spi: spi-gpio: store chipselect information in private structure
        ...
      7fe0b14b
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 7a9a2970
      Linus Torvalds 提交于
      Pull infiniband updates from Roland Dreier:
       "First batch of InfiniBand/RDMA changes for the 3.7 merge window:
         - mlx4 IB support for SR-IOV
         - A couple of SRP initiator fixes
         - Batch of nes hardware driver fixes
         - Fix for long-standing use-after-free crash in IPoIB
         - Other miscellaneous fixes"
      
      This merge also removes a new use of __cancel_delayed_work(), and
      replaces it with the regular cancel_delayed_work() that is now irq-safe
      thanks to the workqueue updates.
      
      That said, I suspect the sequence in question should probably use
      "mod_delayed_work()".  I just did the minimal "don't use deprecated
      functions" fixup, though.
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (45 commits)
        IB/qib: Fix local access validation for user MRs
        mlx4_core: Disable SENSE_PORT for multifunction devices
        mlx4_core: Clean up enabling of SENSE_PORT for older (ConnectX-1/-2) HCAs
        mlx4_core: Stash PCI ID driver_data in mlx4_priv structure
        IB/srp: Avoid having aborted requests hang
        IB/srp: Fix use-after-free in srp_reset_req()
        IB/qib: Add a qib driver version
        RDMA/nes: Fix compilation error when nes_debug is enabled
        RDMA/nes: Print hardware resource type
        RDMA/nes: Fix for crash when TX checksum offload is off
        RDMA/nes: Cosmetic changes
        RDMA/nes: Fix for incorrect MSS when TSO is on
        RDMA/nes: Fix incorrect resolving of the loopback MAC address
        mlx4_core: Fix crash on uninitialized priv->cmd.slave_sem
        mlx4_core: Trivial cleanups to driver log messages
        mlx4_core: Trivial readability fix: "0X30" -> "0x30"
        IB/mlx4: Create paravirt contexts for VFs when master IB driver initializes
        mlx4: Modify proxy/tunnel QP mechanism so that guests do no calculations
        mlx4: Paravirtualize Node Guids for slaves
        mlx4: Activate SR-IOV mode for IB
        ...
      7a9a2970
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · fc47912d
      Linus Torvalds 提交于
      Pull input updates from Dmitry Torokhov:
       "A few drivers were updated with device tree bindings and others got a
        few small cleanups and fixes."
      
      Fix trivial conflict in drivers/input/keyboard/omap-keypad.c due to
      changes clashing with a whitespace cleanup.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (28 commits)
        Input: wacom - mark Intuos5 pad as in-prox when touching buttons
        Input: synaptics - adjust threshold for treating position values as negative
        Input: hgpk - use %*ph to dump small buffer
        Input: gpio_keys_polled - fix dt pdata->nbuttons
        Input: Add KD[GS]KBDIACRUC ioctls to the compatible list
        Input: omap-keypad - fixed formatting
        Input: tegra - move platform data header
        Input: wacom - add support for EMR on Cintiq 24HD touch
        Input: s3c2410_ts - make s3c_ts_pmops const
        Input: samsung-keypad - use of_get_child_count() helper
        Input: samsung-keypad - use of_match_ptr()
        Input: uinput - fix formatting
        Input: uinput - specify exact bit sizes on userspace APIs
        Input: uinput - mark failed submission requests as free
        Input: uinput - fix race that can block nonblocking read
        Input: uinput - return -EINVAL when read buffer size is too small
        Input: uinput - take event lock when fetching events from buffer
        Input: get rid of MATCH_BIT() macro
        Input: rotary-encoder - add DT bindings
        Input: rotary-encoder - constify platform data pointers
        ...
      fc47912d
    • L
      Merge tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 06fe918e
      Linus Torvalds 提交于
      Pull pinctrl changes from Linus Walleij:
       "Some of this stuff is hitting arch/arm/* and have been ACKed by the
        ARM SoC folks, or it's device tree bindings pertaining to the specific
        driver.
      
        These are the bulk pinctrl changes for kernel v3.7:
         - Add subdrivers for the DB8540 and NHK8815 Nomadik-type ASICs,
           provide platform config for the Nomadik.
         - Add a driver for the i.MX35.
         - Add a driver for the BCM2835, an advanced GPIO expander.
         - Various fixes and clean-ups and minor improvements for the core,
           Nomadik, pinctr-single, sirf drivers.
         - Some platform config for the ux500."
      
      * tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (27 commits)
        pinctrl: add bcm2835 driver
        pinctrl: clarify idle vs sleep states
        pinctrl/nomadik: use irq_find_mapping()
        pinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq
        pinctrl: sirf: initialize the irq_chip pointer of pinctrl_gpio_range
        pinctrl: sirf: fix spinlock deadlock in sirfsoc_gpio_set_input
        pinctrl: sirf: add missing pins to pinctrl list
        pinctrl: sirf: fix a typo in sirfsoc_gpio_probe
        pinctrl: pinctrl-single: add debugfs pin h/w state info
        ARM: ux500: 8500: update I2C sleep states pinctrl
        pinctrl: Fix potential memory leak in pinctrl_register_one_pin()
        ARM: ux500: tidy up pin sleep modes
        ARM: ux500: fix spi2 pin group
        pinctrl: imx: remove duplicated const
        pinctrl: document semantics vs GPIO
        ARM: ux500: 8500: use hsit_a_2 group for HSI
        pinctrl: use kasprintf() in pinmux_request_gpio()
        pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux
        pinctrl/nomadik : add MC1_a_2 pin MC1 function group list
        pinctrl: pinctrl-single: Make sure we do not change bits outside of mask
        ...
      06fe918e
    • L
      Merge tag 'gpio-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · dff8360a
      Linus Torvalds 提交于
      Pull GPIO changes from Linus Walleij:
       "So this is the LW GPIO patch stack for v3.7:
         - refactoring from Thierry Redding at Arnd Bergmann's request to use
           the seq_file iterator interface in gpiolib.
         - A new driver for Avionic Design's N-bit GPIO expander.
         - Two instances of mutexes replaced by spinlocks from Axel Lin to
           code that is supposed to be fastpath compliant.
         - IRQ demuxer and gpio_to_irq() support for pcf857x by Kuninori
           Morimoto.
         - Dynamic GPIO numbers, device tree support, daisy chaining and some
           other fixes for the 74x164 driver by Maxime Ripard.
         - IRQ domain and device tree support for the tc3589x driver by Lee
           Jones.
         - Some conversion to use managed resources devm_* code.
         - Some instances of clk_prepare() or clk_prepare_enable() added to
           support the new, stricter common clock framework.
         - Some for_each_set_bit() simplifications.
         - Then a lot of fixes as we fixed up all of the above tripping over
           our own shoelaces and that kind of thing."
      
      * tag 'gpio-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (34 commits)
        gpio: pcf857x: select IRQ_DOMAIN
        gpio: Document device_node's det_debounce
        gpio-lpc32xx: Add GPI_28
        gpio: adnp: dt: Reference generic interrupt binding
        gpio: Add Avionic Design N-bit GPIO expander support
        gpio: pxa: using for_each_set_bit to simplify the code
        gpio_msm: using for_each_set_bit to simplify the code
        gpio: Enable the tc3298x GPIO expander driver for Device Tree
        gpio: Provide the tc3589x GPIO expander driver with an IRQ domain
        ARM: shmobile: kzm9g: use gpio-keys instead of gpio-keys-polled
        gpio: pcf857x: fixup smatch WARNING
        gpio: 74x164: Add support for the daisy-chaining
        gpio: 74x164: dts: Add documentation for the dt binding
        dt: Fix incorrect reference in gpio-led documentation
        gpio: 74x164: Add device tree support
        gpio: 74x164: Use dynamic gpio number assignment if no pdata is present
        gpio: 74x164: Use devm_kzalloc
        gpio: 74x164: Use module_spi_driver boiler plate function
        gpio: sx150x: Use irq_data_get_irq_chip_data() at appropriate places
        gpio: em: Use irq_data_get_irq_chip_data() at appropriate places
        ...
      dff8360a
    • L
      workqueue: avoid using deprecated functions · 916082b0
      Linus Torvalds 提交于
      The network merge brought in a few users of functions that got
      deprecated by the workqueue cleanups: the 'system_nrt_wq' is now the
      same as the regular system_wq, since all workqueues are now non-
      reentrant.
      
      Similarly, remove one use of flush_work_sync() - the regular
      flush_work() has become synchronous, and the "_sync()" version is thus
      deprecated as being superfluous.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      916082b0
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · aecdc33e
      Linus Torvalds 提交于
      Pull networking changes from David Miller:
      
       1) GRE now works over ipv6, from Dmitry Kozlov.
      
       2) Make SCTP more network namespace aware, from Eric Biederman.
      
       3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.
      
       4) Make openvswitch network namespace aware, from Pravin B Shelar.
      
       5) IPV6 NAT implementation, from Patrick McHardy.
      
       6) Server side support for TCP Fast Open, from Jerry Chu and others.
      
       7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel
          Borkmann.
      
       8) Increate the loopback default MTU to 64K, from Eric Dumazet.
      
       9) Use a per-task rather than per-socket page fragment allocator for
          outgoing networking traffic.  This benefits processes that have very
          many mostly idle sockets, which is quite common.
      
          From Eric Dumazet.
      
      10) Use up to 32K for page fragment allocations, with fallbacks to
          smaller sizes when higher order page allocations fail.  Benefits are
          a) less segments for driver to process b) less calls to page
          allocator c) less waste of space.
      
          From Eric Dumazet.
      
      11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.
      
      12) VXLAN device driver, one way to handle VLAN issues such as the
          limitation of 4096 VLAN IDs yet still have some level of isolation.
          From Stephen Hemminger.
      
      13) As usual there is a large boatload of driver changes, with the scale
          perhaps tilted towards the wireless side this time around.
      
      Fix up various fairly trivial conflicts, mostly caused by the user
      namespace changes.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)
        hyperv: Add buffer for extended info after the RNDIS response message.
        hyperv: Report actual status in receive completion packet
        hyperv: Remove extra allocated space for recv_pkt_list elements
        hyperv: Fix page buffer handling in rndis_filter_send_request()
        hyperv: Fix the missing return value in rndis_filter_set_packet_filter()
        hyperv: Fix the max_xfer_size in RNDIS initialization
        vxlan: put UDP socket in correct namespace
        vxlan: Depend on CONFIG_INET
        sfc: Fix the reported priorities of different filter types
        sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP
        sfc: Fix loopback self-test with separate_tx_channels=1
        sfc: Fix MCDI structure field lookup
        sfc: Add parentheses around use of bitfield macro arguments
        sfc: Fix null function pointer in efx_sriov_channel_type
        vxlan: virtual extensible lan
        igmp: export symbol ip_mc_leave_group
        netlink: add attributes to fdb interface
        tg3: unconditionally select HWMON support when tg3 is enabled.
        Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"
        gre: fix sparse warning
        ...
      aecdc33e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · a20acf99
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
       "Largely this is simply adding support for the Niagara 4 cpu.
      
        Major areas are perf events (chip now supports 4 counters and can
        monitor any event on each counter), crypto (opcodes are availble for
        sha1, sha256, sha512, md5, crc32c, AES, DES, CAMELLIA, and Kasumi
        although the last is unsupported since we lack a generic crypto layer
        Kasumi implementation), and an optimized memcpy.
      
        Finally some cleanups by Peter Senna Tschudin."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (47 commits)
        sparc64: Fix trailing whitespace in NG4 memcpy.
        sparc64: Fix comment type in NG4 copy from user.
        sparc64: Add SPARC-T4 optimized memcpy.
        drivers/sbus/char: removes unnecessary semicolon
        arch/sparc/kernel/pci_sun4v.c: removes unnecessary semicolon
        sparc64: Fix function argument comment in camellia_sparc64_key_expand asm.
        sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt
        sparc64: Add auto-loading mechanism to crypto-opcode drivers.
        sparc64: Add missing pr_fmt define to crypto opcode drivers.
        sparc64: Adjust crypto priorities.
        sparc64: Use cpu_pgsz_mask for linear kernel mapping config.
        sparc64: Probe cpu page size support more portably.
        sparc64: Support 2GB and 16GB page sizes for kernel linear mappings.
        sparc64: Fix bugs in unrolled 256-bit loops.
        sparc64: Avoid code duplication in crypto assembler.
        sparc64: Unroll CTR crypt loops in AES driver.
        sparc64: Unroll ECB decryption loops in AES driver.
        sparc64: Unroll ECB encryption loops in AES driver.
        sparc64: Add ctr mode support to AES driver.
        sparc64: Move AES driver over to a methods based implementation.
        ...
      a20acf99
    • H
      hyperv: Add buffer for extended info after the RNDIS response message. · a3a6cab5
      Haiyang Zhang 提交于
      In some response messages, there may be some extended info after the
      message.
      Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: NK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3a6cab5