1. 02 Jun, 2012 4 commits
  2. 01 Jun, 2012 6 commits
    • Devendra Naga's avatar
      r8169: call netif_napi_del at errpaths and at driver unload · ad1be8d3
      Devendra Naga authored
      when register_netdev fails, the init'ed NAPIs by netif_napi_add must be
      deleted with netif_napi_del, and also when driver unloads, it should
      delete the NAPI before unregistering netdevice using unregister_netdev.
      Signed-off-by: default avatarDevendra Naga <devendra.aaru@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ad1be8d3
    • Eric Dumazet's avatar
      tcp: reflect SYN queue_mapping into SYNACK packets · fff32699
      Eric Dumazet authored
      While testing how linux behaves on SYNFLOOD attack on multiqueue device
      (ixgbe), I found that SYNACK messages were dropped at Qdisc level
      because we send them all on a single queue.
      
      Obvious choice is to reflect incoming SYN packet @queue_mapping to
      SYNACK packet.
      
      Under stress, my machine could only send 25.000 SYNACK per second (for
      200.000 incoming SYN per second). NIC : ixgbe with 16 rx/tx queues.
      
      After patch, not a single SYNACK is dropped.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fff32699
    • Eric Dumazet's avatar
      tcp: do not create inetpeer on SYNACK message · 7433819a
      Eric Dumazet authored
      Another problem on SYNFLOOD/DDOS attack is the inetpeer cache getting
      larger and larger, using lots of memory and cpu time.
      
      tcp_v4_send_synack()
      ->inet_csk_route_req()
       ->ip_route_output_flow()
        ->rt_set_nexthop()
         ->rt_init_metrics()
          ->inet_getpeer( create = true)
      
      This is a side effect of commit a4daad6b (net: Pre-COW metrics for
      TCP) added in 2.6.39
      
      Possible solution :
      
      Instruct inet_csk_route_req() to remove FLOWI_FLAG_PRECOW_METRICS
      
      Before patch :
      
      # grep peer /proc/slabinfo
      inet_peer_cache   4175430 4175430    192   42    2 : tunables    0    0    0 : slabdata  99415  99415      0
      
      Samples: 41K of event 'cycles', Event count (approx.): 30716565122
      +  20,24%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_getpeer
      +   8,19%      ksoftirqd/0  [kernel.kallsyms]           [k] peer_avl_rebalance.isra.1
      +   4,81%      ksoftirqd/0  [kernel.kallsyms]           [k] sha_transform
      +   3,64%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_table_lookup
      +   2,36%      ksoftirqd/0  [ixgbe]                     [k] ixgbe_poll
      +   2,16%      ksoftirqd/0  [kernel.kallsyms]           [k] __ip_route_output_key
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] kernel_map_pages
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] ip_route_input_common
      +   2,01%      ksoftirqd/0  [kernel.kallsyms]           [k] __inet_lookup_established
      +   1,83%      ksoftirqd/0  [kernel.kallsyms]           [k] md5_transform
      +   1,75%      ksoftirqd/0  [kernel.kallsyms]           [k] check_leaf.isra.9
      +   1,49%      ksoftirqd/0  [kernel.kallsyms]           [k] ipt_do_table
      +   1,46%      ksoftirqd/0  [kernel.kallsyms]           [k] hrtimer_interrupt
      +   1,45%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_alloc
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_csk_search_req
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] __netif_receive_skb
      +   1,16%      ksoftirqd/0  [kernel.kallsyms]           [k] copy_user_generic_string
      +   1,15%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_free
      +   1,02%      ksoftirqd/0  [kernel.kallsyms]           [k] tcp_make_synack
      +   0,93%      ksoftirqd/0  [kernel.kallsyms]           [k] _raw_spin_lock_bh
      +   0,87%      ksoftirqd/0  [kernel.kallsyms]           [k] __call_rcu
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] rt_garbage_collect
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_rules_lookup
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7433819a
    • Jason Wang's avatar
      8139cp/8139too: terminate the eeprom access with the right opmode · 0bc777bc
      Jason Wang authored
      Currently, we terminate the eeprom access through clearing the CS by:
      
      RTL_W8 (Cfg9346, ~EE_CS); or writeb (~EE_CS, ee_addr);
      
      This would left the eeprom into "Config. Register Write Enable:"
      state which is not expcted as the highest two bits were set to
      0x11 ( expected is the "Normal" mode (0x00)). Solving this by write
      0x0 instead of ~EE_CS when terminating the eeprom access.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0bc777bc
    • Jason Wang's avatar
      8139cp: set ring address before enabling receiver · b01af457
      Jason Wang authored
      Currently, we enable the receiver before setting the ring address which could
      lead the card DMA into unexpected areas. Solving this by set the ring address
      before enabling the receiver.
      
      btw. I find and test this in qemu as I didn't have a 8139cp card in hand. please
      review it carefully.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b01af457
    • Paul Moore's avatar
      cipso: handle CIPSO options correctly when NetLabel is disabled · 20e2a864
      Paul Moore authored
      When NetLabel is not enabled, e.g. CONFIG_NETLABEL=n, and the system
      receives a CIPSO tagged packet it is dropped (cipso_v4_validate()
      returns non-zero).  In most cases this is the correct and desired
      behavior, however, in the case where we are simply forwarding the
      traffic, e.g. acting as a network bridge, this becomes a problem.
      
      This patch fixes the forwarding problem by providing the basic CIPSO
      validation code directly in ip_options_compile() without the need for
      the NetLabel or CIPSO code.  The new validation code can not perform
      any of the CIPSO option label/value verification that
      cipso_v4_validate() does, but it can verify the basic CIPSO option
      format.
      
      The behavior when NetLabel is enabled is unchanged.
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20e2a864
  3. 31 May, 2012 30 commits
    • Jason Wang's avatar
      net: sock: validate data_len before allocating skb in sock_alloc_send_pskb() · cc9b17ad
      Jason Wang authored
      We need to validate the number of pages consumed by data_len, otherwise frags
      array could be overflowed by userspace. So this patch validate data_len and
      return -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc9b17ad
    • Hiroaki SHIMODA's avatar
      bql: Avoid possible inconsistent calculation. · 914bec10
      Hiroaki SHIMODA authored
      dql->num_queued could change while processing dql_completed().
      To provide consistent calculation, added an on stack variable.
      Signed-off-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Denys Fedoryshchenko <denys@visp.net.lb>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      914bec10
    • Hiroaki SHIMODA's avatar
      bql: Avoid unneeded limit decrement. · 25426b79
      Hiroaki SHIMODA authored
      When below pattern is observed,
      
                                                     TIME
             dql_queued()         dql_completed()     |
            a) initial state                          |
                                                      |
            b) X bytes queued                         V
      
            c) Y bytes queued
                                 d) X bytes completed
            e) Z bytes queued
                                 f) Y bytes completed
      
      a) dql->limit has already some value and there is no in-flight packet.
      b) X bytes queued.
      c) Y bytes queued and excess limit.
      d) X bytes completed and dql->prev_ovlimit is set and also
         dql->prev_num_queued is set Y.
      e) Z bytes queued.
      f) Y bytes completed. inprogress and prev_inprogress are true.
      
      At f), according to the comment, all_prev_completed becomes
      true and limit should be increased. But POSDIFF() ignores
      (completed == dql->prev_num_queued) case, so limit is decreased.
      Signed-off-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Denys Fedoryshchenko <denys@visp.net.lb>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      25426b79
    • Hiroaki SHIMODA's avatar
      bql: Fix POSDIFF() to integer overflow aware. · 0cfd32b7
      Hiroaki SHIMODA authored
      POSDIFF() fails to take into account integer overflow case.
      Signed-off-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Denys Fedoryshchenko <denys@visp.net.lb>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0cfd32b7
    • Jack Morgenstein's avatar
      net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP · 401453a3
      Jack Morgenstein authored
      The "!mlx4_is_slave" is totally confusing.  Fix with
      constant MLX4_CMD_NATIVE, which is the intended behavior.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      401453a3
    • Jack Morgenstein's avatar
      net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap · 6230bb23
      Jack Morgenstein authored
      The range check was performed after using the port number.
      
      Reverse this to prevent a potential array overflow.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6230bb23
    • Jack Morgenstein's avatar
      net/mlx4_core: Fixes for VF / Guest startup flow · b91cb3eb
      Jack Morgenstein authored
      - pass the following parameters:
        - firmware version (added QUERY_FW paravirtualization for that)
      
        - disable Blueflame on slaves. KVM disables write combining on guests,
          and we get better performance without BF in this case. (This requires
          QUERY_DEV_CAP paravirtualization, also in this commit)
      
        - max qp rdma as destination
      
      - get rid of a chunk of "if (0)" dead code
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b91cb3eb
    • Jack Morgenstein's avatar
      net/mlx4_en: Fix improper use of "port" parameter in mlx4_en_event · 13bf58b7
      Jack Morgenstein authored
      Port is used as an array index before we know if that is proper.
      
      For example, in the catas event case, port is zero; however,
      the port index should lie in the range (1..2).
      
      Fix this by using 'port' only in the events where it is of interest.
      
      Test for port out of range in the default (unhandled event) case,
      and do not output a message if it is not an ethernet port.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      13bf58b7
    • Marcel Apfelbaum's avatar
      net/mlx4_core: Fix number of EQs used in ICM initialisation · 3fc929e2
      Marcel Apfelbaum authored
      In SRIOV mode, the number of EQs used when computing the total ICM size
      was incorrect.
      
      To fix this, we do the following:
      1. We add a new structure to mlx4_dev, mlx4_phys_caps, to contain physical HCA
         capabilities.  The PPF uses the phys capabilities when it computes things
         like ICM size.
      
         The dev_caps structure will then contain the paravirtualized values, making
         bookkeeping much easier in SRIOV mode. We add a structure rather than a
         single parameter because there will be other fields in the phys_caps.
      
         The first field we add to the mlx4_phys_caps structure is num_phys_eqs.
      
      2. In INIT_HCA, when running in SRIOV mode, the "log_num_eqs" parameter
         passed to the FW is the number of EQs per VF/PF; each function (PF or VF)
         has this number of EQs available.
      
         However, the total number of EQs which must be allowed for in the ICM is
         (1 << log_num_eqs) * (#VFs + #PFs).  Rather than compute this quantity,
         we allocate ICM space for 1024 EQs (which is the device maximum
         number of EQs, and which is the value we place in the mlx4_phys_caps structure).
      
         For INIT_HCA, however, we use the per-function number of EQs as described
         above.
      Signed-off-by: default avatarMarcel Apfelbaum <marcela@dev.mellanox.co.il>
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3fc929e2
    • Jack Morgenstein's avatar
      net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int · 30f7c73b
      Jack Morgenstein authored
      Ths fixes the comparison in the FLR (Function Level Reset) event case.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      30f7c73b
    • Linus Torvalds's avatar
      Merge tag 'for-v3.5' of git://git.infradead.org/battery-2.6 · 76f901eb
      Linus Torvalds authored
      Pull battery updates from Anton Vorontsov:
       "A bunch of fixes for v3.5, nothing extraordinary."
      
      * tag 'for-v3.5' of git://git.infradead.org/battery-2.6: (27 commits)
        smb347-charger: Include missing <linux/err.h>
        smb347-charger: Clean up battery attributes
        max17042_battery: Add support for max17047/50 chip
        sbs-battery.c: Capacity attr = remaining relative capacity
        isp1704_charger: Use after free on probe error
        ds2781_battery: Use DS2781_PARAM_EEPROM_SIZE and DS2781_USER_EEPROM_SIZE
        power_supply: Fix a typo in BATTERY_DS2781 Kconfig entry
        charger-manager: Provide cm_notify_event function for in-kernel use
        charger-manager: Poll battery health in normal state
        smb347-charger: Convert to regmap API
        smb347-charger: Move IRQ enabling to the end of probe
        smb347-charger: Rename few functions to match better what they are doing
        smb347-charger: Convert to use module_i2c_driver()
        smb347_charger: Cleanup power supply registration code in probe
        ab8500: Clean up probe routines
        ab8500_fg: Harden platform data check
        ab8500_btemp: Harden platform data check
        ab8500_charger: Harden platform data check
        MAINTAINERS: Fix 'F' entry for the power supply class
        max17042_battery: Handle irq request failure case
        ...
      76f901eb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · bd0e162d
      Linus Torvalds authored
      Pull two small kvm fixes from Avi Kivity:
       "A build fix for non-kvm archs and a transparent hugepage refcount
        bugfix on hosts with 4M pages."
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: Export asm-generic/kvm_para.h
        KVM: MMU: fix huge page adapted on non-PAE host
      bd0e162d
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 05455227
      Linus Torvalds authored
      Pull final round of SCSI updates from James Bottomley:
       "This is primarily another round of driver updates (bnx2fc, qla2xxx,
        qla4xxx) including the target mode driver for qla2xxx.  We've also got
        a couple of regression fixes (async scanning, broken this merge window
        and a fix to a long standing break in the scsi_wait_scan module)."
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (45 commits)
        [SCSI] fix scsi_wait_scan
        [SCSI] fix async probe regression
        [SCSI] be2iscsi: fix dma free size mismatch regression
        [SCSI] qla4xxx: Update driver version to 5.02.00-k17
        [SCSI] qla4xxx: Capture minidump for ISP82XX on firmware failure
        [SCSI] qla4xxx: Add change_queue_depth API support
        [SCSI] qla4xxx: Fix clear ddb mbx command failure issue.
        [SCSI] qla4xxx: Fix kernel panic during discovery logout.
        [SCSI] qla4xxx: Correct early completion of pending mbox.
        [SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs
        [SCSI] libfcoe: Add fcoe_sysfs
        [SCSI] bnx2fc: Allocate fcoe_ctlr with bnx2fc_interface, not as a member
        [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member
        [SCSI] Fix dm-multipath starvation when scsi host is busy
        [SCSI] ufs: fix potential NULL pointer dereferencing error in ufshcd_prove.
        [SCSI] qla2xxx: don't free pool that wasn't allocated
        [SCSI] mptfusion: unlock on error in mpt_config()
        [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core
        [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series
        [SCSI] Revert "qla2xxx: During loopdown perform Diagnostic loopback."
        ...
      05455227
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 5b461209
      Linus Torvalds authored
      Pull follow-up block updates from Jens Axboe:
       "Includes the fix from Eric to resolve the infinite loop in looking up
        or creating an IO context for an exiting task.
      
        Also a bunch of mtip32xx patches.  Fairly trivial stuff.  It's fairly
        new though, but no point in keeping it out of the tree until 3.6 imho.
        I've thrown it through basic testing locally as well, works fine.  The
        one contentious part is the patch that Greg complained about (sysfs
        file with multiple values, should be a debugfs file), which is
        perfectly valid, but not a regression from what the file contains now.
        That will be fixed up separately."
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: avoid infinite loop in get_task_io_context()
        mtip32xx: Changes to sysfs entries
        mtip32xx: Convert macro definitions for flag bits to enum
        mtip32xx: minor performance tweak
        mtip32xx: Fix to support more than one sector in exec_drive_command()
        mtip32xx: Use plain spinlock for 'cmd_issue_lock'
        mtip32xx: Set block queue boundary variables
        mtip32xx: Fix to handle TFE for PIO(IOCTL/internal) commands
        mtip32xx: Change HDIO_GET_IDENTITY to return stored data
        mtip32xx: Set custom timeouts for PIO commands
        mtip32xx: fix clearing an incorrect register in mtip_init_port
      5b461209
    • Eric Dumazet's avatar
      tty: add lockdep annotations · fde86d31
      Eric Dumazet authored
      tty_lock_pair() do the right thing to avoid deadlocks, but should
      instruct LOCKDEP of this to avoid a splat.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fde86d31
    • Trond Myklebust's avatar
      NFS: Ensure that setattr and getattr wait for O_DIRECT write completion · 1d59d61f
      Trond Myklebust authored
      Use the same mechanism as the block devices are using, but move the
      helper functions from fs/direct-io.c into fs/inode.c to remove the
      dependency on CONFIG_BLOCK.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Fred Isaman <iisaman@netapp.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d59d61f
    • Linus Torvalds's avatar
      Merge tag 'please-pull-mce' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 2d117403
      Linus Torvalds authored
      Pull mce cleanup from Tony Luck:
       "One more mce cleanup before the 3.5 merge window closes"
      
      * tag 'please-pull-mce' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        x86/mce: Cleanup timer mess
      2d117403
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 8ee78c6f
      Linus Torvalds authored
      Pull s390 patches from Heiko Carstens:
       "A couple of s390 patches for the 3.5 merge window.  Just a collection
        of bug fixes and cleanups."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/uaccess: fix access_ok compile warnings
        s390/cmpxchg: select HAVE_CMPXCHG_LOCAL option
        s390/cmpxchg: fix sign extension bugs
        s390/cmpxchg: fix 1 and 2 byte memory accesses
        s390/cmpxchg: fix compile warnings specific to s390
        s390/cmpxchg: add missing memory barrier to cmpxchg64
        s390/cpu: remove cpu "capabilities" sysfs attribute
        s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs
        s390/kernel: Introduce memcpy_absolute() function
        s390/headers: replace __s390x__ with CONFIG_64BIT where possible
        s390/headers: remove #ifdef __KERNEL__ from not exported headers
        s390/irq: split irq stats for cpu-measurement alert facilities
        s390/kexec: Move early_pgm_check_handler() to text section
        s390/kdump: Use real mode for PSW restart and kexec
        s390/kdump: Account /sys/kernel/kexec_crash_size changes in OS info
        s390/kernel: Remove OS info init function call and diag 308 for kdump
      8ee78c6f
    • Linus Torvalds's avatar
      Merge tag 'parisc-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 · aac422af
      Linus Torvalds authored
      Pull misc parisc updates from James Bottomley:
       "This is a couple of updates to complete our fixes and one to fix a
        compile failure caused during the merge window.  Additionally, we now
        switch to the generic strncopy_from_user."
      
      * tag 'parisc-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
        [PARISC] update parisc to use generic strncpy_from_user()
        [PARISC] Fix parisc compile failure after smp: Add task_struct argument to __cpu_up()
        [PARISC] fix TLB fault path on PA2.0 narrow systems
        [PARISC] fix boot failure on 32-bit systems caused by branch stubs placed before .text
      aac422af
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0c6be871
      Linus Torvalds authored
      Pull additional x86 fixes from Peter Anvin.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, amd, xen: Avoid NULL pointer paravirt references
        x86, mtrr: Fix a type overflow in range_to_mtrr func
        x86, realmode: Unbreak the ia64 build of drivers/acpi/sleep.c
        x86/mm/pat: Improve scaling of pat_pagerange_is_ram()
        x86: hpet: Fix copy-and-paste mistake in earlier change
        x86/mce: Fix 32-bit build
        x86/bitops: Move BIT_64() for a wider use
      0c6be871
    • Linus Torvalds's avatar
      Merge tag 'devel-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6a445c7f
      Linus Torvalds authored
      Pull late-merged development and first fixes for arm-soc from Olof Johansson:
       "This branch contains a few development patches for Samsung and
        Versatile Express that were submitted to arm-soc near the beginning of
        the merge window.  We picked them up with the agreement that they
        would need to sit in linux-next for a while, and now they have.
      
        There are also two fixes:
         - One long-standing build breakage on ixp4xx due to missing gpiolib
           dependencies.
         - The other is for some gpio device tree changes needed on lpc32xx."
      
      * tag 'devel-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: LPC32xx: Adjust dts files to gpio dt binding
        ixp4xx: fix compilation by adding gpiolib support
        ARM: vexpress: Remove twice included header files
        ARM: vexpress: Device Tree updates
        ARM: EXYNOS: Support suspend and resume for EXYNOS5250
        ARM: EXYNOS: Add Clock register list for save and restore
        ARM: EXYNOS: Add PMU table for EXYNOS5250
        ARM: EXYNOS: Rename of function for pm.c
        ARM: EXYNOS: Remove GIC save & restore function
        ARM: dts: Add node for interrupt combiner controller on EXYNOS5250
        ARM: S3C24XX: add support for second irq set of S3C2416
        ARM: S3C64XX: use timekeeping wrapper on cpuidle
        ARM: S3C64XX: declare the states with the new api on cpuidle
        ARM: S3C64XX: Hook up carrier class modules on Cragganmore
        ARM: S3C64XX: Initial hookup for Bells module on Cragganmore
      6a445c7f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · f737c770
      Linus Torvalds authored
      Pull Sparc updates from David S. Miller:
      
       1) Remove the idiotic situation wherein Leon was a special case in all
          of the TLB/cache handling code.
      
          The worst side effect of this bogosity is that you couldn't build a
          kernel with Leon support enabled (to get better build coverage), and
          test boot it on a non-LEON cpu.
      
          Leon is, in all core respects, programatically identical to the
          32-bit SRMMU.  Except that they put the TLB registers in a different
          alternate address space location.
      
          Through code patching (for fast paths) and run time checks, this
          issue is now a thing of the past.
      
          From Sam Ravnborg.
      
       2) There was a mis-merge of arch/sparc/Kconfig for one of the
          clockevents changes that went in, causing 32-bit sparc to start
          failing to build.
      
          I merged in your tree to get those clockevents changes (and added a
          note to the merge commit) then added Stephen Rothwell's fix for the
          merge error.
      
       3) Software quad floating point emulation was not working properly on
          more recent Niagara chips, because the way the situation is reported
          by the cpu has changed.
      
          Nobody noticed because gcc emits calls to software emulation
          routines in glibc.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (25 commits)
        sparc: fix sparc64 build due to leon.h inclusion
        sparc32: remove unused variable in head_32.S
        sparc32,leon: fix leon bootup
        sparc32: Export leon_dma_ops to modules.
        sparc32: support leon + sun in dma_make_coherent()
        sparc32,leon: always support leon in ioport
        sparc32,leon: always include leon_pmc in build
        sparc32: refactor cpu_idle()
        sparc32: srmmu_probe now knows about leon too
        sparc32: drop LEON hack for ASI_M_MMUREGS
        sparc32: introduce run-time patching of srmmu access functions
        sparc32: introduce support for run-time patching for all shared assembler code
        sparc32,leon: fix section mismatch warning
        sparc32,leon: always include leon_smp + leon_mm in build
        sparc32,leon: always include leon_kernel in build
        sparc32,leon: clean up leon.h
        sparc32: handle leon in cpu.c
        sparc32: handle leon in irq_32.c
        sparc32: add support for run-time patching of leon/sun single instructions
        sparc32: introduce sparc32_start_kernel called from head_32.S
        ...
      f737c770
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 13199a08
      Linus Torvalds authored
      Pull networking changes from David S. Miller:
      
       1) Fix IPSEC header length calculation for transport mode in ESP.  The
          issue is whether to do the calculation before or after alignment.
          Fix from Benjamin Poirier.
      
       2) Fix regression in IPV6 IPSEC fragment length calculations, from Gao
          Feng.  This is another transport vs tunnel mode issue.
      
       3) Handle AF_UNSPEC connect()s properly in L2TP to avoid OOPSes.  Fix
          from James Chapman.
      
       4) Fix USB ASIX driver's reception of full sized VLAN packets, from
          Eric Dumazet.
      
       5) Allow drop monitor (and, more generically, all generic netlink
          protocols) to be automatically loaded as a module.  From Neil
          Horman.
      
      Fix up trivial conflict in Documentation/feature-removal-schedule.txt
      due to new entries added next to each other at the end. As usual.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)
        net/smsc911x: Repair broken failure paths
        virtio-net: remove useless disable on freeze
        netdevice: Update netif_dbg for CONFIG_DYNAMIC_DEBUG
        drop_monitor: Add module alias to enable automatic module loading
        genetlink: Build a generic netlink family module alias
        net: add MODULE_ALIAS_NET_PF_PROTO_NAME
        r6040: Do a Proper deinit at errorpath and also when driver unloads (calling r6040_remove_one)
        r6040: disable pci device if the subsequent calls (after pci_enable_device) fails
        skb: avoid unnecessary reallocations in __skb_cow
        net: sh_eth: fix the rxdesc pointer when rx descriptor empty happens
        asix: allow full size 8021Q frames to be received
        rds_rdma: don't assume infiniband device is PCI
        l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case
        mac80211: fix ADDBA declined after suspend with wowlan
        wlcore: fix undefined symbols when CONFIG_PM is not defined
        mac80211: fix flag check for QoS NOACK frames
        ath9k_hw: apply internal regulator settings on AR933x
        ath9k_hw: update AR933x initvals to fix issues with high power devices
        ath9k: fix a use-after-free-bug when ath_tx_setup_buffer() fails
        ath9k: stop rx dma before stopping tx
        ...
      13199a08
    • Eric Dumazet's avatar
      block: avoid infinite loop in get_task_io_context() · 3c9c708c
      Eric Dumazet authored
      Calling get_task_io_context() on a exiting task which isn't %current can
      loop forever. This triggers at boot time on my dev machine.
      
      BUG: soft lockup - CPU#3 stuck for 22s ! [mountall.1603]
      
      Fix this by making create_task_io_context() returns -EBUSY in this case
      to break the loop.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Alan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      3c9c708c
    • James Bottomley's avatar
    • Asai Thambi S P's avatar
      mtip32xx: Changes to sysfs entries · b77874c9
      Asai Thambi S P authored
      * Formatted the output of 'registers' entry
      * Added "Commands in Q' to output of 'registers' entry
      * Added a new entry 'flags'
      Signed-off-by: default avatarAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b77874c9
    • Asai Thambi S P's avatar
      mtip32xx: Convert macro definitions for flag bits to enum · 8ce80093
      Asai Thambi S P authored
      Convert macro definitions for flags bits to enum
      Signed-off-by: default avatarAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      8ce80093
    • Asai Thambi S P's avatar
      mtip32xx: minor performance tweak · 377b8fc6
      Asai Thambi S P authored
      When checking for command completions if the register value is zero, proceed
      to next register.
      Signed-off-by: default avatarAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      377b8fc6
    • Asai Thambi S P's avatar
      mtip32xx: Fix to support more than one sector in exec_drive_command() · e602878f
      Asai Thambi S P authored
      Fix to support more than one sector in exec_drive_command().
      Signed-off-by: default avatarAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e602878f
    • Asai Thambi S P's avatar
      mtip32xx: Use plain spinlock for 'cmd_issue_lock' · 0a07ab22
      Asai Thambi S P authored
      'cmd_issue_lock' is for only acquiring a free slot, and it is not used
      in interrupt context. So replaced irq version with non-irq version of spinlock.
      Signed-off-by: default avatarAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0a07ab22