1. 28 Feb, 2013 13 commits
    • Vlastimil Kosar's avatar
      net/phy: micrel: Disable asymmetric pause for KSZ9021 · 32fcafbc
      Vlastimil Kosar authored
      Phyter KSZ9021 has hardware bug. If asymmetric pause is enabled,
      then it is necessary to disconnect and then reconnect the ethernet
      cable to get the phyter working. The solution is to disable the
      asymmetric pause.
      Signed-off-by: default avatarVlastimil Kosar <ikosar@fit.vutbr.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      32fcafbc
    • Hauke Mehrtens's avatar
      bgmac: omit the fcs · 02e71127
      Hauke Mehrtens authored
      Do not include the frame check sequence when adding the skb to
      netif_receive_skb(). This causes problems when this interface was
      bridged to a wifi ap and a big package should be forwarded from this
      Ethernet driver through a bride to the wifi client.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02e71127
    • Petr Malat's avatar
      phy: Fix phy_device_free memory leak · b2a43191
      Petr Malat authored
      Fix memory leak in phy_device_free() for the case when phy_device*
      returned by phy_device_create() is not registered in the system.
      
      Bug description:
      phy_device_create() sets name of kobject using dev_set_name(), which
      allocates memory using kvasprintf(), but this memory isn't freed if
      the underlying device isn't registered properly, because kobject_cleanup()
      is not called in that case. This can happen (and actually is happening on
      our machines) if phy_device_register(), called by mdiobus_scan(), fails.
      
      Patch description:
      Embedded struct device is initialized in phy_device_create() and it
      counterpart phy_device_free() just drops one reference to the device,
      which leads to proper deinitialization including releasing the kobject
      name memory.
      Signed-off-by: default avatarPetr Malat <oss@malat.biz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2a43191
    • Yaniv Rosner's avatar
      bnx2x: Fix KR2 work-around condition · d521de04
      Yaniv Rosner authored
      Fix condition typo for running KR2 work-around though it doesn't have
      real effect since the typo bits matched by chance.
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d521de04
    • Yaniv Rosner's avatar
      bnx2x: Fix KR2 link · be94bea7
      Yaniv Rosner authored
      Fix KR2 link down problem after reboot when link speed is reconfigured via ethtool.
      Since 1G/10G support link speed were missing by default, 1G/10G link speed were
      not advertised.
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be94bea7
    • Yaniv Rosner's avatar
      bnx2x: Fix port identification for the 84834 · 8ce76845
      Yaniv Rosner authored
      Fix the "ethtool -p" for boards with BCM84834, by using LED4 of the PHY
      to toggle the link LED while keeping interrupt disabled to avoid NIG attentions,
      and at the end restore NIG to previous state.
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ce76845
    • françois romieu's avatar
      r8169: honor jumbo settings when chipset is requested to start. · faf1e785
      françois romieu authored
      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: default avatarTomi Orava <tomimo@ncircle.nullnet.fi>
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Cc: Hayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      faf1e785
    • Eric Dumazet's avatar
      tcp: avoid wakeups for pure ACK · 79ffef1f
      Eric Dumazet authored
      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: default avatarEric 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: default avatarDavid S. Miller <davem@davemloft.net>
      79ffef1f
    • David S. Miller's avatar
      Merge branch 'sctp' · 8d6d8406
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      8d6d8406
    • Lee A. Roberts's avatar
      sctp: fix association hangs due to partial delivery errors · d003b41b
      Lee A. Roberts authored
      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: default avatarLee A. Roberts <lee.roberts@hp.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      d003b41b
    • Lee A. Roberts's avatar
      sctp: fix association hangs due to errors when reneging events from the ordering queue · 95ac7b85
      Lee A. Roberts authored
      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: default avatarLee A. Roberts <lee.roberts@hp.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      95ac7b85
    • Lee A. Roberts's avatar
      sctp: fix association hangs due to reneging packets below the cumulative TSN ACK point · e67f85ec
      Lee A. Roberts authored
      In sctp_ulpq_renege_list(), do not renege packets below the
      cumulative TSN ACK point.
      Signed-off-by: default avatarLee A. Roberts <lee.roberts@hp.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      e67f85ec
    • Lee A. Roberts's avatar
      sctp: fix association hangs due to off-by-one errors in sctp_tsnmap_grow() · 70fc69bc
      Lee A. Roberts authored
      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: default avatarLee A. Roberts <lee.roberts@hp.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      70fc69bc
  2. 27 Feb, 2013 6 commits
  3. 26 Feb, 2013 21 commits
    • Marina Makienko's avatar
      isdn: hisax: add missing usb_free_urb · 114a6f8b
      Marina Makienko authored
      Add missing usb_free_urb() on failure path in st5481_setup_usb().
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarMarina Makienko <makienko@ispras.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      114a6f8b
    • Jiri Pirko's avatar
      bond: check if slave count is 0 in case when deciding to take slave's mac · 6c8c4e4c
      Jiri Pirko authored
      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: default avatarGreg Rose <gregory.v.rose@intel.com>
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6c8c4e4c
    • Daniel Mack's avatar
      drivers: net: ethernet: cpsw: consider number of slaves in interation · 0237c110
      Daniel Mack authored
      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: default avatarDaniel Mack <zonque@gmail.com>
      Cc: Mugunthan V N <mugunthanvnm@ti.com>
      Cc: David S. Miller <davem@davemloft.net>
      Acked-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0237c110
    • David S. Miller's avatar
      Merge branch 'master' of git://1984.lsi.us.es/nf · b86c761f
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      b86c761f
    • David S. Miller's avatar
      Merge branch 'sfc-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc · 3647d345
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      3647d345
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 1cef9350
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ecc88efb
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 70a3a06d
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · f6c0ffa8
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 42a0a1b0
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 52caa59e
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 4c8c225a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm · 3eb05225
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · ed5dc237
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 0512c04a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · 5115f3c1
      Linus Torvalds authored
      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
    • Roland Dreier's avatar
    • Ben Hutchings's avatar
      sfc: Detach net device when stopping queues for reconfiguration · 29c69a48
      Ben Hutchings authored
      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: default avatarBen Hutchings <bhutchings@solarflare.com>
      29c69a48
    • Ben Hutchings's avatar
      sfc: Fix efx_rx_buf_offset() in the presence of swiotlb · b590ace0
      Ben Hutchings authored
      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: default avatarBen Hutchings <bhutchings@solarflare.com>
      b590ace0
    • Ben Hutchings's avatar
      sfc: Properly sync RX DMA buffer when it is not the last in the page · 3a68f19d
      Ben Hutchings authored
      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: default avatarBen Hutchings <bhutchings@solarflare.com>
      3a68f19d
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-fixes-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c41b3810
      Linus Torvalds authored
      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