1. 01 3月, 2013 7 次提交
    • F
      r8169: honor jumbo settings when chipset is requested to start. · faf1e785
      françois romieu 提交于
      Some hardware start settings implicitely assume an usual 1500 bytes mtu
      that can't be guaranteed because changes of mtu may be requested both
      before and after the hardware is started.
      Reported-by: NTomi Orava <tomimo@ncircle.nullnet.fi>
      Signed-off-by: NFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      faf1e785
    • E
      tcp: avoid wakeups for pure ACK · 79ffef1f
      Eric Dumazet 提交于
      TCP prequeue mechanism purpose is to let incoming packets
      being processed by the thread currently blocked in tcp_recvmsg(),
      instead of behalf of the softirq handler, to better adapt flow
      control on receiver host capacity to schedule the consumer.
      
      But in typical request/answer workloads, we send request, then
      block to receive the answer. And before the actual answer, TCP
      stack receives the ACK packets acknowledging the request.
      
      Processing pure ACK on behalf of the thread blocked in tcp_recvmsg()
      is a waste of resources, as thread has to immediately sleep again
      because it got no payload.
      
      This patch avoids the extra context switches and scheduler overhead.
      
      Before patch :
      
      a:~# echo 0 >/proc/sys/net/ipv4/tcp_low_latency
      a:~# perf stat ./super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k
      231676
      
       Performance counter stats for './super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k':
      
           116251.501765 task-clock                #   11.369 CPUs utilized
               5,025,463 context-switches          #    0.043 M/sec
               1,074,511 CPU-migrations            #    0.009 M/sec
                 216,923 page-faults               #    0.002 M/sec
         311,636,972,396 cycles                    #    2.681 GHz
         260,507,138,069 stalled-cycles-frontend   #   83.59% frontend cycles idle
         155,590,092,840 stalled-cycles-backend    #   49.93% backend  cycles idle
         100,101,255,411 instructions              #    0.32  insns per cycle
                                                   #    2.60  stalled cycles per insn
          16,535,930,999 branches                  #  142.243 M/sec
             646,483,591 branch-misses             #    3.91% of all branches
      
            10.225482774 seconds time elapsed
      
      After patch :
      
      a:~# echo 0 >/proc/sys/net/ipv4/tcp_low_latency
      a:~# perf stat ./super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k
      233297
      
       Performance counter stats for './super_netperf 300 -t TCP_RR -l 10 -H 7.7.7.84 -- -r 8k,8k':
      
            91084.870855 task-clock                #    8.887 CPUs utilized
               2,485,916 context-switches          #    0.027 M/sec
                 815,520 CPU-migrations            #    0.009 M/sec
                 216,932 page-faults               #    0.002 M/sec
         245,195,022,629 cycles                    #    2.692 GHz
         202,635,777,041 stalled-cycles-frontend   #   82.64% frontend cycles idle
         124,280,372,407 stalled-cycles-backend    #   50.69% backend  cycles idle
          83,457,289,618 instructions              #    0.34  insns per cycle
                                                   #    2.43  stalled cycles per insn
          13,431,472,361 branches                  #  147.461 M/sec
             504,470,665 branch-misses             #    3.76% of all branches
      
            10.249594448 seconds time elapsed
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      79ffef1f
    • D
      Merge branch 'sctp' · 8d6d8406
      David S. Miller 提交于
      Lee A. Roberts says:
      
      ====================
      This series of patches resolves several SCTP association hangs observed during
      SCTP stress testing.  Observable symptoms include communications hangs with
      data being held in the association reassembly and/or lobby (ordering) queues.
      Close examination of reassembly/ordering queues may show either duplicated
      or missing packets.
      
      In version #2, corrected build failure in initial version of patch series
      due to wrong calling sequence for sctp_ulpq_partial_delivery() being inserted
      in sctp_ulpq_renege().
      
      In version #3, adjusted patch documentation to be less repetitive.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d6d8406
    • L
      sctp: fix association hangs due to partial delivery errors · d003b41b
      Lee A. Roberts 提交于
      In sctp_ulpq_tail_data(), use return values 0,1 to indicate whether
      a complete event (with MSG_EOR set) was delivered.  A return value
      of -ENOMEM continues to indicate an out-of-memory condition was
      encountered.
      
      In sctp_ulpq_retrieve_partial() and sctp_ulpq_retrieve_first(),
      correct message reassembly logic for SCTP partial delivery.
      Change logic to ensure that as much data as possible is sent
      with the initial partial delivery and that following partial
      deliveries contain all available data.
      
      In sctp_ulpq_partial_delivery(), attempt partial delivery only
      if the data on the head of the reassembly queue is at or before
      the cumulative TSN ACK point.
      
      In sctp_ulpq_renege(), use the modified return values from
      sctp_ulpq_tail_data() to choose whether to attempt partial
      delivery or to attempt to drain the reassembly queue as a
      means to reduce memory pressure.  Remove call to
      sctp_tsnmap_mark(), as this is handled correctly in call to
      sctp_ulpq_tail_data().
      Signed-off-by: NLee A. Roberts <lee.roberts@hp.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      d003b41b
    • L
      sctp: fix association hangs due to errors when reneging events from the ordering queue · 95ac7b85
      Lee A. Roberts 提交于
      In sctp_ulpq_renege_list(), events being reneged from the
      ordering queue may correspond to multiple TSNs.  Identify
      all affected packets; sum freed space and renege from the
      tsnmap.
      Signed-off-by: NLee A. Roberts <lee.roberts@hp.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      95ac7b85
    • L
      sctp: fix association hangs due to reneging packets below the cumulative TSN ACK point · e67f85ec
      Lee A. Roberts 提交于
      In sctp_ulpq_renege_list(), do not renege packets below the
      cumulative TSN ACK point.
      Signed-off-by: NLee A. Roberts <lee.roberts@hp.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      e67f85ec
    • L
      sctp: fix association hangs due to off-by-one errors in sctp_tsnmap_grow() · 70fc69bc
      Lee A. Roberts 提交于
      In sctp_tsnmap_mark(), correct off-by-one error when calculating
      size value for sctp_tsnmap_grow().
      
      In sctp_tsnmap_grow(), correct off-by-one error when copying
      and resizing the tsnmap.  If max_tsn_seen is in the LSB of the
      word, this bit can be lost, causing the corresponding packet
      to be transmitted again and to be entered as a duplicate into
      the SCTP reassembly/ordering queues.  Change parameter name
      from "gap" (zero-based index) to "size" (one-based) to enhance
      code readability.
      Signed-off-by: NLee A. Roberts <lee.roberts@hp.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      70fc69bc
  2. 28 2月, 2013 6 次提交
  3. 27 2月, 2013 17 次提交
    • M
      isdn: hisax: add missing usb_free_urb · 114a6f8b
      Marina Makienko 提交于
      Add missing usb_free_urb() on failure path in st5481_setup_usb().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: NMarina Makienko <makienko@ispras.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      114a6f8b
    • J
      bond: check if slave count is 0 in case when deciding to take slave's mac · 6c8c4e4c
      Jiri Pirko 提交于
      in bond_enslave(), check slave_cnt before actually using slave address.
      
      introduced by:
      commit 409cc1f8 (bond: have random dev address by default instead of zeroes)
      Reported-by: NGreg Rose <gregory.v.rose@intel.com>
      Signed-off-by: NJiri Pirko <jiri@resnulli.us>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6c8c4e4c
    • D
      drivers: net: ethernet: cpsw: consider number of slaves in interation · 0237c110
      Daniel Mack 提交于
      Make cpsw_add_default_vlan() look at the actual number of slaves for its
      iteration, so boards with less than 2 slaves don't ooops at boot.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Cc: Mugunthan V N <mugunthanvnm@ti.com>
      Cc: David S. Miller <davem@davemloft.net>
      Acked-by: NMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0237c110
    • D
      Merge branch 'master' of git://1984.lsi.us.es/nf · b86c761f
      David S. Miller 提交于
      Pablo Neira Ayuso says:
      
      ====================
      The following patchset contains two bugfixes for netfilter/ipset via
      Jozsef Kadlecsik, they are:
      
      * Fix timeout corruption if sets are resized, by Josh Hunt.
      
      * Fix bogus error report if the flag nomatch is set, from Jozsef.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b86c761f
    • D
      Merge branch 'sfc-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc · 3647d345
      David S. Miller 提交于
      Ben Hutchings says:
      
      ====================
      Some fixes that should go into 3.9:
      
      1. Fix packet corruption when using non-coherent RX DMA buffers.
      2. Fix occasional watchdog misfiring when changing MTU or ring size.
      
      These are longstanding bugs and should be fixed in stable as well, but
      I'd like to review other recent fixes first and send a separate request
      for stable inclusion.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3647d345
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 1cef9350
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) ping_err() ICMP error handler looks at wrong ICMP header, from Li
          Wei.
      
       2) TCP socket hash function on ipv6 is too weak, from Eric Dumazet.
      
       3) netif_set_xps_queue() forgets to drop mutex on errors, fix from
          Alexander Duyck.
      
       4) sum_frag_mem_limit() can deadlock due to lack of BH disabling, fix
          from Eric Dumazet.
      
       5) TCP SYN data is miscalculated in tcp_send_syn_data(), because the
          amount of TCP option space was not taken into account properly in
          this code path.  Fix from yuchung Cheng.
      
       6) MLX4 driver allocates device queues with the wrong size, from Kleber
          Sacilotto.
      
       7) sock_diag can access past the end of the sock_diag_handlers[] array,
          from Mathias Krause.
      
       8) vlan_set_encap_proto() makes incorrect assumptions about where
          skb->data points, rework the logic so that it works regardless of
          where skb->data happens to be.  From Jesse Gross.
      
       9) Fix gianfar build failure with NET_POLL enabled, from Paul
          Gortmaker.
      
      10) Fix Ipv4 ID setting and checksum calculations in GRE driver, from
         Pravin B Shelar.
      
      11) bgmac driver does:
      
              int i;
      
              for (i = 0; ...; ...) {
                      ...
                      for (i = 0; ...; ...) {
      
          effectively corrupting the outer loop index, use a seperate
          variable for the inner loops.  From Rafał Miłecki.
      
      12) Fix suspend bugs in smsc95xx driver, from Ming Lei.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
        usbnet: smsc95xx: rename FEATURE_AUTOSUSPEND
        usbnet: smsc95xx: fix broken runtime suspend
        usbnet: smsc95xx: fix suspend failure
        bgmac: fix indexing of 2nd level loops
        b43: Fix lockdep splat on module unload
        Revert "ip_gre: propogate target device GSO capability to the tunnel device"
        IP_GRE: Fix GRE_CSUM case.
        VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
        IP_GRE: Fix IP-Identification.
        net/pasemi: Fix missing coding style
        vmxnet3: fix ethtool ring buffer size setting
        vmxnet3: make local function static
        bnx2x: remove dead code and make local funcs static
        gianfar: fix compile fail for NET_POLL=y due to struct packing
        vlan: adjust vlan_set_encap_proto() for its callers
        sock_diag: Simplify sock_diag_handlers[] handling in __sock_diag_rcv_msg
        sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
        vxlan: remove depends on CONFIG_EXPERIMENTAL
        mlx4_en: fix allocation of CPU affinity reverse-map
        mlx4_en: fix allocation of device tx_cq
        ...
      1cef9350
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ecc88efb
      Linus Torvalds 提交于
      Pull scsi target updates from Nicholas Bellinger:
       "The highlights in this series include:
      
         - Improve sg_table lookup scalability in RAMDISK_MCP (martin)
      
         - Add device attribute to expose config name for INQUIRY model (tregaron)
      
         - Convert tcm_vhost to use lock-less list for cmd completion (asias)
      
         - Add tcm_vhost support for multiple target's per endpoint (asias)
      
         - Add tcm_vhost support for multiple queues per vhost (asias)
      
         - Add missing mapped_lun bounds checking during make_mappedlun setup
           in generic fabric configfs code (jan engelhardt + nab)
      
         - Enforce individual iscsi-target network portal export once per
           TargetName endpoint (grover + nab)
      
         - Add WRITE_SAME w/ UNMAP=0 emulation to FILEIO backend (nab)
      
        Things have been mostly quiet this round, with majority of the work
        being done on the iser-target WIP driver + associated iscsi-target
        refactoring patches currently in flight for v3.10 code.
      
        At this point there is one patch series left outstanding from Asias to
        add support for UNMAP + WRITE_SAME w/ UNMAP=1 to FILEIO awaiting
        feedback from hch & Co, that will likely be included in a post
        v3.9-rc1 PULL request if there are no objections.
      
        Also, there is a regression bug recently reported off-list that seems
        to be effecting v3.5 and v3.6 kernels with MSFT iSCSI initiators that
        is still being tracked down.  No word if this effects >= v3.7 just
        yet, but if so there will likely another PULL request coming your
        way.."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits)
        target: Rename spc_get_write_same_sectors -> sbc_get_write_same_sectors
        target/file: Add WRITE_SAME w/ UNMAP=0 emulation support
        iscsi-target: Enforce individual network portal export once per TargetName
        iscsi-target: Refactor iscsit_get_np sockaddr matching into iscsit_check_np_match
        target: Add missing mapped_lun bounds checking during make_mappedlun setup
        target: Fix lookup of dynamic NodeACLs during cached demo-mode operation
        target: Fix parameter list length checking in MODE SELECT
        target: Fix error checking for UNMAP commands
        target: Fix sense data for out-of-bounds IO operations
        target_core_rd: break out unterminated loop during copy
        tcm_vhost: Multi-queue support
        tcm_vhost: Multi-target support
        target: Add device attribute to expose config_item_name for INQUIRY model
        target: don't truncate the fail intr address
        target: don't always say "ipv6" as address type
        target/iblock: Use backend REQ_FLUSH hint for WriteCacheEnabled status
        iscsi-target: make some temporary buffers larger
        tcm_vhost: Optimize gup in vhost_scsi_map_to_sgl
        tcm_vhost: Use iov_num_pages to calculate sgl_count
        tcm_vhost: Introduce iov_num_pages
        ...
      ecc88efb
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 70a3a06d
      Linus Torvalds 提交于
      Pull infiniband update from Roland Dreier:
       "Main batch of InfiniBand/RDMA changes for 3.9:
      
         - SRP error handling fixes from Bart Van Assche
      
         - Implementation of memory windows for mlx4 from Shani Michaeli
      
         - Lots of cxgb4 HW driver fixes from Vipul Pandya
      
         - Make iSER work for virtual functions, other fixes from Or Gerlitz
      
         - Fix for bug in qib HW driver from Mike Marciniszyn
      
         - IPoIB fixes from me, Itai Garbi, Shlomo Pongratz, Yan Burman
      
         - Various cleanups and warning fixes from Julia Lawall, Paul Bolle,
           Wei Yongjun"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (41 commits)
        IB/mlx4: Advertise MW support
        IB/mlx4: Support memory window binding
        mlx4: Implement memory windows allocation and deallocation
        mlx4_core: Enable memory windows in {INIT, QUERY}_HCA
        mlx4_core: Disable memory windows for virtual functions
        IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
        IB/srp: Fail I/O requests if the transport is offline
        IB/srp: Avoid endless SCSI error handling loop
        IB/srp: Avoid sending a task management function needlessly
        IB/srp: Track connection state properly
        IB/mlx4: Remove redundant NULL check before kfree
        IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
        IB/mlx4: Convert is_xxx variables in build_mlx_header() to bool
        IB/iser: Enable iser when FMRs are not supported
        IB/iser: Avoid error prints on EAGAIN registration failures
        IB/iser: Use proper define for the commands per LUN value advertised to SCSI ML
        IB/uverbs: Implement memory windows support in uverbs
        IB/core: Add "type 2" memory windows support
        mlx4_core: Propagate MR deregistration failures to caller
        mlx4_core: Rename MPT-related functions to have mpt_ prefix
        ...
      70a3a06d
    • L
      Merge tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · f6c0ffa8
      Linus Torvalds 提交于
      Pull IOMMU Updates from Joerg Roedel:
       "Besides some fixes and cleanups in the code there are three more
        important changes to point out this time:
      
      	* New IOMMU driver for the ARM SHMOBILE platform
      	* An IOMMU-API extension for non-paging IOMMUs (required for
      	  upcoming PAMU driver)
      	* Rework of the way the Tegra IOMMU driver accesses its
      	  registetrs - register windows are easier to extend now.
      
        There are also a few changes to non-iommu code, but that is acked by
        the respective maintainers."
      
      * tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (23 commits)
        iommu/tegra: assume CONFIG_OF in SMMU driver
        iommu/tegra: assume CONFIG_OF in gart driver
        iommu/amd: Remove redundant NULL check before dma_ops_domain_free().
        iommu/amd: Initialize device table after dma_ops
        iommu/vt-d: Zero out allocated memory in dmar_enable_qi
        iommu/tegra: smmu: Fix incorrect mask for regbase
        iommu/exynos: Make exynos_sysmmu_disable static
        ARM: mach-shmobile: r8a7740: Add IPMMU device
        ARM: mach-shmobile: sh73a0: Add IPMMU device
        ARM: mach-shmobile: sh7372: Add IPMMU device
        iommu/shmobile: Add iommu driver for Renesas IPMMU modules
        iommu: Add DOMAIN_ATTR_WINDOWS domain attribute
        iommu: Add domain window handling functions
        iommu: Implement DOMAIN_ATTR_PAGING attribute
        iommu: Check for valid pgsize_bitmap in iommu_map/unmap
        iommu: Make sure DOMAIN_ATTR_MAX is really the maximum
        iommu/tegra: smmu: Change SMMU's dependency on ARCH_TEGRA
        iommu/tegra: smmu: Use helper function to check for valid register offset
        iommu/tegra: smmu: Support variable MMIO ranges/blocks
        iommu/tegra: Add missing spinlock initialization
        ...
      f6c0ffa8
    • L
      Merge branch 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 42a0a1b0
      Linus Torvalds 提交于
      Pull DMA-mapping updates from Marek Szyprowski:
       "This time all patches are related only to ARM DMA-mapping subsystem.
        The main extension provided by this pull request is highmem support.
        Besides that it contains a bunch of small bugfixes and cleanups."
      
      * 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        ARM: DMA-mapping: fix memory leak in IOMMU dma-mapping implementation
        ARM: dma-mapping: Add maximum alignment order for dma iommu buffers
        ARM: dma-mapping: use himem for DMA buffers for IOMMU-mapped devices
        ARM: dma-mapping: add support for CMA regions placed in highmem zone
        arm: dma mapping: export arm iommu functions
        ARM: dma-mapping: Add arm_iommu_detach_device()
        ARM: dma-mapping: Add macro to_dma_iommu_mapping()
        ARM: dma-mapping: Set arm_dma_set_mask() for iommu->set_dma_mask()
        ARM: iommu: Include linux/kref.h in asm/dma-iommu.h
      42a0a1b0
    • L
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 52caa59e
      Linus Torvalds 提交于
      Pull i2c updates from Wolfram Sang:
       "Highlights:
      
         - new drivers for Intel ismt & Broadcom bcm2835
         - a number of drivers got support for more variants and mostly got
           cleaned up on the way (sis630, i801, at91, tegra, designware)
         - i2c got rid of all *_set_drvdata(..., NULL) on remove/probe failure
         - removed the i2c_smbus_process_call from the core since there are no
           users
         - mxs can now switch between PIO and DMA depending on the message
           size and the bus speed can now be arbitrary
      
        In addition, there is the usual bunch of fixes, cleanups, devm_*
        conversions, etc"
      
      Fixed conflict (and buggy devm_* conversion) in i2c-s3c2410.c
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (39 commits)
        i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls
        i2c: pxa: remove incorrect __exit annotations
        i2c: ocores: Fix pointer to integer cast warning
        i2c: tegra: remove warning dump if timeout happen in transfer
        i2c: fix i2c-ismt.c printk format warning
        i2c: i801: Add Device IDs for Intel Wellsburg PCH
        i2c: add bcm2835 driver
        i2c: ismt: Add Seth and Myself as maintainers
        i2c: sis630: checkpatch cleanup
        i2c: sis630: display unsigned hex
        i2c: sis630: use hex to constants for SMBus commands
        i2c: sis630: fix behavior after collision
        i2c: sis630: clear sticky bits
        i2c: sis630: Add SIS964 support
        i2c: isch: Add module parameter for backbone clock rate if divider is unset
        i2c: at91: fix unsed variable warning when building with !CONFIG_OF
        i2c: Adding support for Intel iSMT SMBus 2.0 host controller
        i2c: sh_mobile: don't send a stop condition by default inside transfers
        i2c: sh_mobile: eliminate an open-coded "goto" loop
        i2c: sh_mobile: fix timeout error handling
        ...
      52caa59e
    • L
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 4c8c225a
      Linus Torvalds 提交于
      Pull GPIO changes from Grant Likely:
       "This branch contains the usual set of individual driver improvements
        and bug fixes, as well as updates to the core code.  The more notable
        changes include:
      
         - Internally add new API for referencing GPIOs by gpio_desc instead
           of number.  Eventually this will become a public API
      
         - ACPI GPIO binding support"
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: (33 commits)
        arm64: select ARCH_WANT_OPTIONAL_GPIOLIB
        gpio: em: Use irq_domain_add_simple() to fix runtime error
        gpio: using common order: let 'static const' instead of 'const static'
        gpio/vt8500: memory cleanup missing
        gpiolib: Fix locking on gpio debugfs files
        gpiolib: let gpio_chip reference its descriptors
        gpiolib: use descriptors internally
        gpiolib: use gpio_chips list in gpiochip_find_base
        gpiolib: use gpio_chips list in sysfs ops
        gpiolib: use gpio_chips list in gpiochip_find
        gpiolib: use gpio_chips list in gpiolib_sysfs_init
        gpiolib: link all gpio_chips using a list
        gpio/langwell: cleanup driver
        gpio/langwell: Add Cloverview ids to pci device table
        gpio/lynxpoint: add chipset gpio driver.
        gpiolib: add missing braces in gpio_direction_show
        gpiolib-acpi: Fix error checks in interrupt requesting
        gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping
        gpiolib: remove gpiochip_reserve()
        arm: pxa: tosa: do not use gpiochip_reserve()
        ...
      4c8c225a
    • L
      Merge tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm · 3eb05225
      Linus Torvalds 提交于
      Pull PWM changes from Thierry Reding:
       "A new driver has been added to support the PWM mode of the timer
        counter blocks found on Atmel AT91 SoCs.  The VT8500 driver now
        supports changing the PWM signal polarity and the TI drivers (EHRPWM
        and ECAP) gained suspend and resume functionality.
      
        User drivers can now query the core for whether access to a PWM device
        will sleep (if the PWM chip is on a slow bus such as I2C or SPI).
      
        The pwm-backlight driver now handles the backlight BL_CORE_FBBLANK
        state in addition to the FB layer's blanking states.
      
        To round things off, a few fixes and cleanups are also included"
      
      * tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm:
        pwm: twl: Use to_twl() instead of container_of()
        pwm: tegra: assume CONFIG_OF
        pwm_backlight: Validate dft_brightness in main probe function
        pwm: Export pwm_{set,get}_chip_data()
        pwm: Make Kconfig entries more consistent
        pwm: Add can_sleep property to drivers
        pwm: Add pwm_can_sleep() as exported API to users
        pwm-backlight: handle BL_CORE_FBBLANK state
        pwm: pwm-tiecap: Low power sleep support
        pwm: pwm-tiehrpwm: Low power sleep support
        pwm: pwm-tiehrpwm: Update the clock handling of pwm-tiehrpwm driver
        pwm: vt8500: Add polarity support
        pwm: vt8500: Register write busy test performed incorrectly
        pwm: atmel: add Timer Counter Block PWM driver
      3eb05225
    • L
      Merge tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · ed5dc237
      Linus Torvalds 提交于
      Pull MMC update from Chris Ball:
       "MMC highlights for 3.9:
      
        Core:
         - Support for packed commands in eMMC 4.5.  (This requires a host
           capability to be turned on.  It increases write throughput by 20%+,
           but may also increase average write latency; more testing needed.)
         - Add DT bindings for capability flags.
         - Add mmc_of_parse() for shared DT parsing between drivers.
      
        Drivers:
         - android-goldfish: New MMC driver for the Android Goldfish emulator.
         - mvsdio: Add DT bindings, pinctrl, use slot-gpio for card detection.
         - omap_hsmmc: Fix boot hangs with RPMB partitions.
         - sdhci-bcm2835: New driver for controller used by Raspberry Pi.
         - sdhci-esdhc-imx: Add 8-bit data, auto CMD23 support, use slot-gpio.
         - sh_mmcif: Add support for eMMC DDR, bundled MMCIF IRQs.
         - tmio_mmc: Add DT bindings, support for vccq regulator"
      
      * tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (92 commits)
        mmc: tegra: assume CONFIG_OF, remove platform data
        mmc: add DT bindings for more MMC capability flags
        mmc: tmio: add support for the VccQ regulator
        mmc: tmio: remove unused and deprecated symbols
        mmc: sh_mobile_sdhi: use managed resource allocations
        mmc: sh_mobile_sdhi: remove unused .pdata field
        mmc: tmio-mmc: parse device-tree bindings
        mmc: tmio-mmc: define device-tree bindings
        mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
        mmc: (cosmetic) remove "extern" from function declarations
        mmc: provide a standard MMC device-tree binding parser centrally
        mmc: detailed definition of CD and WP MMC line polarities in DT
        mmc: sdhi, tmio: only check flags in tmio-mmc driver proper
        mmc: sdhci: Fix parameter of sdhci_do_start_signal_voltage_switch()
        mmc: sdhci: check voltage range only on regulators aware of voltage value
        mmc: bcm2835: set SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK
        mmc: support packed write command for eMMC4.5 devices
        mmc: add packed command feature of eMMC4.5
        mmc: rtsx: remove driving adjustment
        mmc: use regulator_can_change_voltage() instead of regulator_count_voltages
        ...
      ed5dc237
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 0512c04a
      Linus Torvalds 提交于
      Pull LED subsystem update from Bryan Wu.
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (61 commits)
        leds: leds-sunfire: use dev_err()/pr_err() instead of printk()
        leds: 88pm860x: Add missing of_node_put()
        leds: tca6507: Use of_get_child_count()
        leds: leds-pwm: make it depend on PWM and not HAVE_PWM
        Documentation: leds: update LP55xx family devices
        leds-lp55xx: fix problem on removing LED attributes
        leds-lp5521/5523: add author and copyright description
        leds-lp5521/5523: use new lp55xx common header
        leds-lp55xx: clean up headers
        leds-lp55xx: clean up definitions
        leds-lp55xx: clean up unused data and functions
        leds-lp55xx: clean up _remove()
        leds-lp55xx: add new function for removing device attribtues
        leds-lp55xx: code refactoring on selftest function
        leds-lp55xx: use common device attribute driver function
        leds-lp55xx: support device specific attributes
        leds-lp5523: use generic firmware interface
        leds-lp5521: use generic firmware interface
        leds-lp55xx: support firmware interface
        leds-lp55xx: add new lp55xx_register_sysfs() for the firmware interface
        ...
      0512c04a
    • L
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · 5115f3c1
      Linus Torvalds 提交于
      Pull slave-dmaengine updates from Vinod Koul:
       "This is fairly big pull by my standards as I had missed last merge
        window.  So we have the support for device tree for slave-dmaengine,
        large updates to dw_dmac driver from Andy for reusing on different
        architectures.  Along with this we have fixes on bunch of the drivers"
      
      Fix up trivial conflicts, usually due to #include line movement next to
      each other.
      
      * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
        Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
        ARM: dts: pl330: Add #dma-cells for generic dma binding support
        DMA: PL330: Register the DMA controller with the generic DMA helpers
        DMA: PL330: Add xlate function
        DMA: PL330: Add new pl330 filter for DT case.
        dma: tegra20-apb-dma: remove unnecessary assignment
        edma: do not waste memory for dma_mask
        dma: coh901318: set residue only if dma is in progress
        dma: coh901318: avoid unbalanced locking
        dmaengine.h: remove redundant else keyword
        dma: of-dma: protect list write operation by spin_lock
        dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
        dma: of-dma.c: fix memory leakage
        dw_dmac: apply default dma_mask if needed
        dmaengine: ioat - fix spare sparse complain
        dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
        ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
        dw_dmac: add support for Lynxpoint DMA controllers
        dw_dmac: return proper residue value
        dw_dmac: fill individual length of descriptor
        ...
      5115f3c1
    • R
  4. 26 2月, 2013 10 次提交
    • B
      sfc: Detach net device when stopping queues for reconfiguration · 29c69a48
      Ben Hutchings 提交于
      We must only ever stop TX queues when they are full or the net device
      is not 'ready' so far as the net core, and specifically the watchdog,
      is concerned.  Otherwise, the watchdog may fire *immediately* if no
      packets have been added to the queue in the last 5 seconds.
      
      The device is ready if all the following are true:
      
      (a) It has a qdisc
      (b) It is marked present
      (c) It is running
      (d) The link is reported up
      
      (a) and (c) are normally true, and must not be changed by a driver.
      (d) is under our control, but fake link changes may disturb userland.
      This leaves (b).  We already mark the device absent during reset
      and self-test, but we need to do the same during MTU changes and ring
      reallocation.  We don't need to do this when the device is brought
      down because then (c) is already false.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      29c69a48
    • B
      sfc: Fix efx_rx_buf_offset() in the presence of swiotlb · b590ace0
      Ben Hutchings 提交于
      We assume that the mapping between DMA and virtual addresses is done
      on whole pages, so we can find the page offset of an RX buffer using
      the lower bits of the DMA address.  However, swiotlb maps in units of
      2K, breaking this assumption.
      
      Add an explicit page_offset field to struct efx_rx_buffer.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      b590ace0
    • B
      sfc: Properly sync RX DMA buffer when it is not the last in the page · 3a68f19d
      Ben Hutchings 提交于
      We may currently allocate two RX DMA buffers to a page, and only unmap
      the page when the second is completed.  We do not sync the first RX
      buffer to be completed; this can result in packet loss or corruption
      if the last RX buffer completed in a NAPI poll is the first in a page
      and is not DMA-coherent.  (In the middle of a NAPI poll, we will
      handle the following RX completion and unmap the page *before* looking
      at the content of the first buffer.)
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      3a68f19d
    • L
      Merge tag 'pm+acpi-fixes-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c41b3810
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - Fixes for blackfin and microblaze build problems introduced by the
         removal of global pm_idle.  From Lars-Peter Clausen.
      
       - OPP core build fix from Shawn Guo.
      
       - Error condition check fix for the new imx6q-cpufreq driver from Wei
         Yongjun.
      
       - Fix for an AER driver crash related to the lack of APEI
         initialization for acpi=off.  From Rafael J Wysocki.
      
       - Fix for a USB breakage on Thinkpad T430 related to ACPI power
         resources and PCI wakeup from Rafael J.  Wysocki.
      
      * tag 'pm+acpi-fixes-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PM: Take unusual configurations of power resources into account
        imx6q-cpufreq: fix return value check in imx6q_cpufreq_probe()
        PM / OPP: fix condition for empty of_init_opp_table()
        ACPI / APEI: Fix crash in apei_hest_parse() for acpi=off
        microblaze idle: Fix compile error
        blackfin idle: Fix compile error
      c41b3810
    • L
      Merge tag 'pci-v3.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 556f12f6
      Linus Torvalds 提交于
      Pull PCI changes from Bjorn Helgaas:
       "Host bridge hotplug
          - Major overhaul of ACPI host bridge add/start (Rafael Wysocki, Yinghai Lu)
          - Major overhaul of PCI/ACPI binding (Rafael Wysocki, Yinghai Lu)
          - Split out ACPI host bridge and ACPI PCI device hotplug (Yinghai Lu)
          - Stop caching _PRT and make independent of bus numbers (Yinghai Lu)
      
        PCI device hotplug
          - Clean up cpqphp dead code (Sasha Levin)
          - Disable ARI unless device and upstream bridge support it (Yijing Wang)
          - Initialize all hot-added devices (not functions 0-7) (Yijing Wang)
      
        Power management
          - Don't touch ASPM if disabled (Joe Lawrence)
          - Fix ASPM link state management (Myron Stowe)
      
        Miscellaneous
          - Fix PCI_EXP_FLAGS accessor (Alex Williamson)
          - Disable Bus Master in pci_device_shutdown (Konstantin Khlebnikov)
          - Document hotplug resource and MPS parameters (Yijing Wang)
          - Add accessor for PCIe capabilities (Myron Stowe)
          - Drop pciehp suspend/resume messages (Paul Bolle)
          - Make pci_slot built-in only (not a module) (Jiang Liu)
          - Remove unused PCI/ACPI bind ops (Jiang Liu)
          - Removed used pci_root_bus (Bjorn Helgaas)"
      
      * tag 'pci-v3.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (51 commits)
        PCI/ACPI: Don't cache _PRT, and don't associate them with bus numbers
        PCI: Fix PCI Express Capability accessors for PCI_EXP_FLAGS
        ACPI / PCI: Make pci_slot built-in only, not a module
        PCI/PM: Clear state_saved during suspend
        PCI: Use atomic_inc_return() rather than atomic_add_return()
        PCI: Catch attempts to disable already-disabled devices
        PCI: Disable Bus Master unconditionally in pci_device_shutdown()
        PCI: acpiphp: Remove dead code for PCI host bridge hotplug
        PCI: acpiphp: Create companion ACPI devices before creating PCI devices
        PCI: Remove unused "rc" in virtfn_add_bus()
        PCI: pciehp: Drop suspend/resume ENTRY messages
        PCI/ASPM: Don't touch ASPM if forcibly disabled
        PCI/ASPM: Deallocate upstream link state even if device is not PCIe
        PCI: Document MPS parameters pci=pcie_bus_safe, pci=pcie_bus_perf, etc
        PCI: Document hpiosize= and hpmemsize= resource reservation parameters
        PCI: Use PCI Express Capability accessor
        PCI: Introduce accessor to retrieve PCIe Capabilities Register
        PCI: Put pci_dev in device tree as early as possible
        PCI: Skip attaching driver in device_add()
        PCI: acpiphp: Keep driver loaded even if no slots found
        ...
      556f12f6
    • L
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · fffddfd6
      Linus Torvalds 提交于
      Pull drm merge from Dave Airlie:
       "Highlights:
      
         - TI LCD controller KMS driver
      
         - TI OMAP KMS driver merged from staging
      
         - drop gma500 stub driver
      
         - the fbcon locking fixes
      
         - the vgacon dirty like zebra fix.
      
         - open firmware videomode and hdmi common code helpers
      
         - major locking rework for kms object handling - pageflip/cursor
           won't block on polling anymore!
      
         - fbcon helper and prime helper cleanups
      
         - i915: all over the map, haswell power well enhancements, valleyview
           macro horrors cleaned up, killing lots of legacy GTT code,
      
         - radeon: CS ioctl unification, deprecated UMS support, gpu reset
           rework, VM fixes
      
         - nouveau: reworked thermal code, external dp/tmds encoder support
           (anx9805), fences sleep instead of polling,
      
         - exynos: all over the driver fixes."
      
      Lovely conflict in radeon/evergreen_cs.c between commit de0babd6
      ("drm/radeon: enforce use of radeon_get_ib_value when reading user cmd")
      and the new changes that modified that evergreen_dma_cs_parse()
      function.
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (508 commits)
        drm/tilcdc: only build on arm
        drm/i915: Revert hdmi HDP pin checks
        drm/tegra: Add list of framebuffers to debugfs
        drm/tegra: Fix color expansion
        drm/tegra: Split DC_CMD_STATE_CONTROL register write
        drm/tegra: Implement page-flipping support
        drm/tegra: Implement VBLANK support
        drm/tegra: Implement .mode_set_base()
        drm/tegra: Add plane support
        drm/tegra: Remove bogus tegra_framebuffer structure
        drm: Add consistency check for page-flipping
        drm/radeon: Use generic HDMI infoframe helpers
        drm/tegra: Use generic HDMI infoframe helpers
        drm: Add EDID helper documentation
        drm: Add HDMI infoframe helpers
        video: Add generic HDMI infoframe helpers
        drm: Add some missing forward declarations
        drm: Move mode tables to drm_edid.c
        drm: Remove duplicate drm_mode_cea_vic()
        gma500: Fix n, m1 and m2 clock limits for sdvo and lvds
        ...
      fffddfd6
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 69086a78
      Linus Torvalds 提交于
      Pull vfs fix from Al Viro:
       "Fix for 3.8 breakage introduced by "vfs: Allow unprivileged
        manipulation of the mount namespace" - accessing mnt->mnt_ns is done
        there without needed locking *and* without any real need.
      
        Definite -stable fodder, fortunately not going too far back.
      
        This is *not* all - there will be much bigger vfs pull request
        tomorrow."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        get rid of unprotected dereferencing of mnt->mnt_ns
      69086a78
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 94f2f142
      Linus Torvalds 提交于
      Pull user namespace and namespace infrastructure changes from Eric W Biederman:
       "This set of changes starts with a few small enhnacements to the user
        namespace.  reboot support, allowing more arbitrary mappings, and
        support for mounting devpts, ramfs, tmpfs, and mqueuefs as just the
        user namespace root.
      
        I do my best to document that if you care about limiting your
        unprivileged users that when you have the user namespace support
        enabled you will need to enable memory control groups.
      
        There is a minor bug fix to prevent overflowing the stack if someone
        creates way too many user namespaces.
      
        The bulk of the changes are a continuation of the kuid/kgid push down
        work through the filesystems.  These changes make using uids and gids
        typesafe which ensures that these filesystems are safe to use when
        multiple user namespaces are in use.  The filesystems converted for
        3.9 are ceph, 9p, afs, ocfs2, gfs2, ncpfs, nfs, nfsd, and cifs.  The
        changes for these filesystems were a little more involved so I split
        the changes into smaller hopefully obviously correct changes.
      
        XFS is the only filesystem that remains.  I was hoping I could get
        that in this release so that user namespace support would be enabled
        with an allyesconfig or an allmodconfig but it looks like the xfs
        changes need another couple of days before it they are ready."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (93 commits)
        cifs: Enable building with user namespaces enabled.
        cifs: Convert struct cifs_ses to use a kuid_t and a kgid_t
        cifs: Convert struct cifs_sb_info to use kuids and kgids
        cifs: Modify struct smb_vol to use kuids and kgids
        cifs: Convert struct cifsFileInfo to use a kuid
        cifs: Convert struct cifs_fattr to use kuid and kgids
        cifs: Convert struct tcon_link to use a kuid.
        cifs: Modify struct cifs_unix_set_info_args to hold a kuid_t and a kgid_t
        cifs: Convert from a kuid before printing current_fsuid
        cifs: Use kuids and kgids SID to uid/gid mapping
        cifs: Pass GLOBAL_ROOT_UID and GLOBAL_ROOT_GID to keyring_alloc
        cifs: Use BUILD_BUG_ON to validate uids and gids are the same size
        cifs: Override unmappable incoming uids and gids
        nfsd: Enable building with user namespaces enabled.
        nfsd: Properly compare and initialize kuids and kgids
        nfsd: Store ex_anon_uid and ex_anon_gid as kuids and kgids
        nfsd: Modify nfsd4_cb_sec to use kuids and kgids
        nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion
        nfsd: Convert nfsxdr to use kuids and kgids
        nfsd: Convert nfs3xdr to use kuids and kgids
        ...
      94f2f142
    • L
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 8d168f71
      Linus Torvalds 提交于
      Pull KVM ARM compile fixes from Gleb Natapov:
       "Fix ARM KVM compilation breakage due to changes from kvm.git"
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        ARM: KVM: fix compilation after removal of user_alloc from struct kvm_memory_slot
        ARM: KVM: Rename KVM_MEMORY_SLOTS -> KVM_USER_MEM_SLOTS
        ARM: KVM: fix kvm_arch_{prepare,commit}_memory_region
      8d168f71
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 32dc43e4
      Linus Torvalds 提交于
      Pull crypto update from Herbert Xu:
       "Here is the crypto update for 3.9:
      
         - Added accelerated implementation of crc32 using pclmulqdq.
      
         - Added test vector for fcrypt.
      
         - Added support for OMAP4/AM33XX cipher and hash.
      
         - Fixed loose crypto_user input checks.
      
         - Misc fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (43 commits)
        crypto: user - ensure user supplied strings are nul-terminated
        crypto: user - fix empty string test in report API
        crypto: user - fix info leaks in report API
        crypto: caam - Added property fsl,sec-era in SEC4.0 device tree binding.
        crypto: use ERR_CAST
        crypto: atmel-aes - adjust duplicate test
        crypto: crc32-pclmul - Kill warning on x86-32
        crypto: x86/twofish - assembler clean-ups: use ENTRY/ENDPROC, localize jump labels
        crypto: x86/sha1 - assembler clean-ups: use ENTRY/ENDPROC
        crypto: x86/serpent - use ENTRY/ENDPROC for assember functions and localize jump targets
        crypto: x86/salsa20 - assembler cleanup, use ENTRY/ENDPROC for assember functions and rename ECRYPT_* to salsa20_*
        crypto: x86/ghash - assembler clean-up: use ENDPROC at end of assember functions
        crypto: x86/crc32c - assembler clean-up: use ENTRY/ENDPROC
        crypto: cast6-avx: use ENTRY()/ENDPROC() for assembler functions
        crypto: cast5-avx: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
        crypto: camellia-x86_64/aes-ni: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
        crypto: blowfish-x86_64: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
        crypto: aesni-intel - add ENDPROC statements for assembler functions
        crypto: x86/aes - assembler clean-ups: use ENTRY/ENDPROC, localize jump targets
        crypto: testmgr - add test vector for fcrypt
        ...
      32dc43e4