1. 07 Jun, 2012 1 commit
  2. 06 Jun, 2012 7 commits
    • Tomoki Sekiyama's avatar
      x86/ioapic: Fix NULL pointer dereference on CPU hotplug after disabling irqs · f6175f5b
      Tomoki Sekiyama authored
      In current Linux, percpu variable `vector_irq' is not cleared on
      offlined cpus while disabling devices' irqs. If the cpu that has
      the disabled irqs in vector_irq is hotplugged,
      __setup_vector_irq() hits invalid irq vector and may crash.
      
      This bug can be reproduced as following;
      
        # echo 0 > /sys/devices/system/cpu/cpu7/online
        # modprobe -r some_driver_using_interrupts      # vector_irq@cpu7 uncleared
        # echo 1 > /sys/devices/system/cpu/cpu7/online  # kernel may crash
      
      This patch fixes this bug by clearing vector_irq in
      __clear_irq_vector() even if the cpu is offlined.
      Signed-off-by: default avatarTomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: yrl.pp-manager.tt@hitachi.com
      Cc: ltc-kernel@ml.yrl.intra.hitachi.co.jp
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Alexander Gordeev <agordeev@redhat.com>
      Link: http://lkml.kernel.org/r/4FC340BE.7080101@hitachi.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      f6175f5b
    • Feng Tang's avatar
      x86/reboot: Fix a warning message triggered by stop_other_cpus() · 55c844a4
      Feng Tang authored
      When rebooting our 24 CPU Westmere servers with 3.4-rc6, we
      always see this warning msg:
      
      Restarting system.
      machine restart
      ------------[ cut here ]------------
      WARNING: at arch/x86/kernel/smp.c:125
      native_smp_send_reschedule+0x74/0xa7() Hardware name: X8DTN
      Modules linked in: igb [last unloaded: scsi_wait_scan]
      Pid: 1, comm: systemd-shutdow Not tainted 3.4.0-rc6+ #22
      Call Trace:
       <IRQ>  [<ffffffff8102a41f>] warn_slowpath_common+0x7e/0x96
       [<ffffffff8102a44c>] warn_slowpath_null+0x15/0x17
       [<ffffffff81018cf7>] native_smp_send_reschedule+0x74/0xa7
       [<ffffffff810561c1>] trigger_load_balance+0x279/0x2a6
       [<ffffffff81050112>] scheduler_tick+0xe0/0xe9
       [<ffffffff81036768>] update_process_times+0x60/0x70
       [<ffffffff81062f2f>] tick_sched_timer+0x68/0x92
       [<ffffffff81046e33>] __run_hrtimer+0xb3/0x13c
       [<ffffffff81062ec7>] ? tick_nohz_handler+0xd0/0xd0
       [<ffffffff810474f2>] hrtimer_interrupt+0xdb/0x198
       [<ffffffff81019a35>] smp_apic_timer_interrupt+0x81/0x94
       [<ffffffff81655187>] apic_timer_interrupt+0x67/0x70
       <EOI>  [<ffffffff8101a3c4>] ? default_send_IPI_mask_allbutself_phys+0xb4/0xc4
       [<ffffffff8101c680>] physflat_send_IPI_allbutself+0x12/0x14
       [<ffffffff81018db4>] native_nmi_stop_other_cpus+0x8a/0xd6
       [<ffffffff810188ba>] native_machine_shutdown+0x50/0x67
       [<ffffffff81018926>] machine_shutdown+0xa/0xc
       [<ffffffff8101897e>] native_machine_restart+0x20/0x32
       [<ffffffff810189b0>] machine_restart+0xa/0xc
       [<ffffffff8103b196>] kernel_restart+0x47/0x4c
       [<ffffffff8103b2e6>] sys_reboot+0x13e/0x17c
       [<ffffffff8164e436>] ? _raw_spin_unlock_bh+0x10/0x12
       [<ffffffff810fcac9>] ? bdi_queue_work+0xcf/0xd8
       [<ffffffff810fe82f>] ? __bdi_start_writeback+0xae/0xb7
       [<ffffffff810e0d64>] ? iterate_supers+0xa3/0xb7
       [<ffffffff816547a2>] system_call_fastpath+0x16/0x1b
      ---[ end trace 320af5cb1cb60c5b ]---
      
      The root cause seems to be the
      default_send_IPI_mask_allbutself_phys() takes quite some time (I
      measured it could be several ms) to complete sending NMIs to all
      the other 23 CPUs, and for HZ=250/1000 system, the time is long
      enough for a timer interrupt to happen, which will in turn
      trigger to kick load balance to a stopped CPU and cause this
      warning in native_smp_send_reschedule().
      
      So disabling the local irq before stop_other_cpu() can fix this
      problem (tested 25 times reboot ok), and it is fine as there
      should be nobody caring the timer interrupt in such reboot
      stage.
      
      The latest 3.4 kernel slightly changes this behavior by sending
      REBOOT_VECTOR first and only send NMI_VECTOR if the REBOOT_VCTOR
      fails, and this patch is still needed to prevent the problem.
      Signed-off-by: default avatarFeng Tang <feng.tang@intel.com>
      Acked-by: default avatarDon Zickus <dzickus@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20120530231541.4c13433a@feng-i7Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      55c844a4
    • Sebastian Andrzej Siewior's avatar
      x86/intel/moorestown: Change intel_scu_devices_create() to __devinit · 7071f6b2
      Sebastian Andrzej Siewior authored
      The allmodconfig hits:
      
       WARNING: vmlinux.o(.text+0x6553d): Section mismatch in
                reference from the function intel_scu_devices_create() to the
                function .devinit.text: spi_register_board_info()
      	  [...]
      
      This patch marks intel_scu_devices_create() as devinit because
      it only calls a devinit function, spi_register_board_info().
      Signed-off-by: default avatarSebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Cc: Alan Cox <alan@linux.intel.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Feng Tang <feng.tang@intel.com>
      Link: http://lkml.kernel.org/r/20120531212025.GA8519@breakpoint.ccSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      7071f6b2
    • Yasuaki Ishimatsu's avatar
      x86/numa: Set numa_nodes_parsed at acpi_numa_memory_affinity_init() · 4af463d2
      Yasuaki Ishimatsu authored
      When hot-adding a CPU, the system outputs following messages
      since node_to_cpumask_map[2] was not allocated memory.
      
      Booting Node 2 Processor 32 APIC 0xc0
      node_to_cpumask_map[2] NULL
      Pid: 0, comm: swapper/32 Tainted: G       A     3.3.5-acd #21
      Call Trace:
       [<ffffffff81048845>] debug_cpumask_set_cpu+0x155/0x160
       [<ffffffff8105e28a>] ? add_timer_on+0xaa/0x120
       [<ffffffff8150665f>] numa_add_cpu+0x1e/0x22
       [<ffffffff815020bb>] identify_cpu+0x1df/0x1e4
       [<ffffffff815020d6>] identify_econdary_cpu+0x16/0x1d
       [<ffffffff81504614>] smp_store_cpu_info+0x3c/0x3e
       [<ffffffff81505263>] smp_callin+0x139/0x1be
       [<ffffffff815052fb>] start_secondary+0x13/0xeb
      
      The reason is that the bit of node 2 was not set at
      numa_nodes_parsed. numa_nodes_parsed is set by only
      acpi_numa_processor_affinity_init /
      acpi_numa_x2apic_affinity_init. Thus even if hot-added memory
      which is same PXM as hot-added CPU is written in ACPI SRAT
      Table, if the hot-added CPU is not written in ACPI SRAT table,
      numa_nodes_parsed is not set.
      
      But according to ACPI Spec Rev 5.0, it says about ACPI SRAT
      table as follows: This optional table provides information that
      allows OSPM to associate processors and memory ranges, including
      ranges of memory provided by hot-added memory devices, with
      system localities / proximity domains and clock domains.
      
      It means that ACPI SRAT table only provides information for CPUs
      present at boot time and for memory including hot-added memory.
      So hot-added memory is written in ACPI SRAT table, but hot-added
      CPU is not written in it. Thus numa_nodes_parsed should be set
      by not only acpi_numa_processor_affinity_init /
      acpi_numa_x2apic_affinity_init but also
      acpi_numa_memory_affinity_init for the case.
      
      Additionally, if system has cpuless memory node,
      acpi_numa_processor_affinity_init /
      acpi_numa_x2apic_affinity_init cannot set numa_nodes_parseds
      since these functions cannot find cpu description for the node.
      In this case, numa_nodes_parsed needs to be set by
      acpi_numa_memory_affinity_init.
      Signed-off-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: liuj97@gmail.com
      Cc: kosaki.motohiro@gmail.com
      Link: http://lkml.kernel.org/r/4FCC2098.4030007@jp.fujitsu.com
      [ merged it ]
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4af463d2
    • Xiaotian Feng's avatar
      x86/gart: Fix kmemleak warning · aff5a62d
      Xiaotian Feng authored
      aperture_64.c now is using memblock, the previous
      kmemleak_ignore() for alloc_bootmem() should be removed then.
      
      Otherwise, with kmemleak enabled, kernel will throw warnings
      like:
      
      [    0.000000] kmemleak: Trying to color unknown object at 0xffff8800c4000000 as Black
      [    0.000000] Pid: 0, comm: swapper/0 Not tainted 3.5.0-rc1-next-20120605+ #130
      [    0.000000] Call Trace:
      [    0.000000]  [<ffffffff811b27e6>] paint_ptr+0x66/0xc0
      [    0.000000]  [<ffffffff816b90fb>] kmemleak_ignore+0x2b/0x60
      [    0.000000]  [<ffffffff81ef7bc0>] kmemleak_init+0x217/0x2c1
      [    0.000000]  [<ffffffff81ed2b97>] start_kernel+0x32d/0x3eb
      [    0.000000]  [<ffffffff81ed25e4>] ? repair_env_string+0x5a/0x5a
      [    0.000000]  [<ffffffff81ed2356>] x86_64_start_reservations+0x131/0x135
      [    0.000000]  [<ffffffff81ed2120>] ? early_idt_handlers+0x120/0x120
      [    0.000000]  [<ffffffff81ed245c>] x86_64_start_kernel+0x102/0x111
      [    0.000000] kmemleak: Early log backtrace:
      [    0.000000]    [<ffffffff816b911b>] kmemleak_ignore+0x4b/0x60
      [    0.000000]    [<ffffffff81ee6a38>] gart_iommu_hole_init+0x3e7/0x547
      [    0.000000]    [<ffffffff81edb20b>] pci_iommu_alloc+0x44/0x6f
      [    0.000000]    [<ffffffff81ee81ad>] mem_init+0x19/0xec
      [    0.000000]    [<ffffffff81ed2a54>] start_kernel+0x1ea/0x3eb
      [    0.000000]    [<ffffffff81ed2356>] x86_64_start_reservations+0x131/0x135
      [    0.000000]    [<ffffffff81ed245c>] x86_64_start_kernel+0x102/0x111
      [    0.000000]    [<ffffffffffffffff>] 0xffffffffffffffff
      Signed-off-by: default avatarXiaotian Feng <dannyfeng@tencent.com>
      Cc: Xiaotian Feng <xtfeng@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Link: http://lkml.kernel.org/r/1338922831-2847-1-git-send-email-xtfeng@gmail.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      aff5a62d
    • Thomas Gleixner's avatar
      x86: mce: Add the dropped timer interval init back · 1a87fc1e
      Thomas Gleixner authored
      commit 82f7af09 ("x86/mce: Cleanup timer mess) dropped the
      initialization of the per cpu timer interval. Duh :(
      
      Restore the previous behaviour.
      Reported-by: default avatarChen Gong <gong.chen@linux.intel.com>
      Cc: bp@amd64.org
      Cc: tony.luck@intel.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1a87fc1e
    • Chen Gong's avatar
      x86/mce: Fix the MCE poll timer logic · 958fb3c5
      Chen Gong authored
      In commit 82f7af09 ("x86/mce: Cleanup timer mess), Thomas just
      forgot the "/ 2" there while cleaning up.
      Signed-off-by: default avatarChen Gong <gong.chen@linux.intel.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: bp@amd64.org
      Cc: tony.luck@intel.com
      Link: http://lkml.kernel.org/r/1338863702-9245-1-git-send-email-gong.chen@linux.intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      958fb3c5
  3. 05 Jun, 2012 2 commits
  4. 04 Jun, 2012 12 commits
  5. 03 Jun, 2012 3 commits
    • Linus Torvalds's avatar
      vfs: move inode stat information closer together · 2f9d3df8
      Linus Torvalds authored
      The comment above it says "Stat data, not accessed from path walking",
      but in fact some of inode fields we use for the common stat data was way
      down at the end of the inode, causing unnecessary cache misses for the
      common stat operations.
      
      The inode structure is pretty big, and this can change padding depending
      on field width, but at least on the common 64-bit configurations this
      doesn't change the size.  Some of our inode layout has historically been
      to tro to avoid unnecessary padding fields, but cache locality is at
      least as important for layout, if not more.
      
      Noticed by looking at kernel profiles, and noticing that the "i_blkbits"
      access stood out like a sore thumb.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f9d3df8
    • Linus Torvalds's avatar
      Linux 3.5-rc1 · f8f5701b
      Linus Torvalds authored
      f8f5701b
    • Linus Torvalds's avatar
      Merge tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 912afc36
      Linus Torvalds authored
      Pull device-mapper updates from Alasdair G Kergon:
       "Improve multipath's retrying mechanism in some defined circumstances
        and provide a simple reserve/release mechanism for userspace tools to
        access thin provisioning metadata while the pool is in use."
      
      * tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm thin: provide userspace access to pool metadata
        dm thin: use slab mempools
        dm mpath: allow ioctls to trigger pg init
        dm mpath: delay retry of bypassed pg
        dm mpath: reduce size of struct multipath
      912afc36
  6. 02 Jun, 2012 15 commits
    • Joe Thornber's avatar
      dm thin: provide userspace access to pool metadata · cc8394d8
      Joe Thornber authored
      This patch implements two new messages that can be sent to the thin
      pool target allowing it to take a snapshot of the _metadata_.  This,
      read-only snapshot can be accessed by userland, concurrently with the
      live target.
      
      Only one metadata snapshot can be held at a time.  The pool's status
      line will give the block location for the current msnap.
      
      Since version 0.1.5 of the userland thin provisioning tools, the
      thin_dump program displays the msnap as follows:
      
          thin_dump -m <msnap root> <metadata dev>
      
      Available here: https://github.com/jthornber/thin-provisioning-tools
      
      Now that userland can access the metadata we can do various things
      that have traditionally been kernel side tasks:
      
           i) Incremental backups.
      
           By using metadata snapshots we can work out what blocks have
           changed over time.  Combined with data snapshots we can ensure
           the data doesn't change while we back it up.
      
           A short proof of concept script can be found here:
      
           https://github.com/jthornber/thinp-test-suite/blob/master/incremental_backup_example.rb
      
           ii) Migration of thin devices from one pool to another.
      
           iii) Merging snapshots back into an external origin.
      
           iv) Asyncronous replication.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      cc8394d8
    • Mike Snitzer's avatar
      dm thin: use slab mempools · a24c2569
      Mike Snitzer authored
      Use dedicated caches prefixed with a "dm_" name rather than relying on
      kmalloc mempools backed by generic slab caches so the memory usage of
      thin provisioning (and any leaks) can be accounted for independently.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      a24c2569
    • Mikulas Patocka's avatar
      dm mpath: allow ioctls to trigger pg init · 35991652
      Mikulas Patocka authored
      After the failure of a group of paths, any alternative paths that
      need initialising do not become available until further I/O is sent to
      the device.  Until this has happened, ioctls return -EAGAIN.
      
      With this patch, new paths are made available in response to an ioctl
      too.  The processing of the ioctl gets delayed until this has happened.
      
      Instead of returning an error, we submit a work item to kmultipathd
      (that will potentially activate the new path) and retry in ten
      milliseconds.
      
      Note that the patch doesn't retry an ioctl if the ioctl itself fails due
      to a path failure.  Such retries should be handled intelligently by the
      code that generated the ioctl in the first place, noting that some SCSI
      commands should not be retried because they are not idempotent (XOR write
      commands).  For commands that could be retried, there is a danger that
      if the device rejected the SCSI command, the path could be errorneously
      marked as failed, and the request would be retried on another path which
      might fail too.  It can be determined if the failure happens on the
      device or on the SCSI controller, but there is no guarantee that all
      SCSI drivers set these flags correctly.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      35991652
    • Mike Christie's avatar
      dm mpath: delay retry of bypassed pg · f220fd4e
      Mike Christie authored
      If I/O needs retrying and only bypassed priority groups are available,
      set the pg_init_delay_retry flag to wait before retrying.
      
      If, for example, the reason for the bypass is that the controller is
      getting reset or there is a firmware upgrade happening, retrying right
      away would cause a flood of log messages and retries for what could be a
      few seconds or even several minutes.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      f220fd4e
    • Mike Snitzer's avatar
      dm mpath: reduce size of struct multipath · 1fbdd2b3
      Mike Snitzer authored
      Move multipath structure's 'lock' and 'queue_size' members to eliminate
      two 4-byte holes.  Also use a bit within a single unsigned int for each
      existing flag (saves 8-bytes).  This allows future flags to be added
      without each consuming an unsigned int.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Acked-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      1fbdd2b3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 4fc3acf2
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Make syn floods consume significantly less resources by
      
          a) Not pre-COW'ing routing metrics for SYN/ACKs
          b) Mirroring the device queue mapping of the SYN for the SYN/ACK
             reply.
      
          Both from Eric Dumazet.
      
       2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.
      
       3) Validate the length requested when building a paged SKB for a
          socket, so we don't overrun the page vector accidently.  From Jason
          Wang.
      
       4) When netlabel is disabled, we abort all IP option processing when we
          see a CIPSO option.  This isn't the right thing to do, we should
          simply skip over it and continue processing the remaining options
          (if any).  Fix from Paul Moore.
      
       5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel
          Apfelbaum.
      
       6) 8139cp enables the receiver before the ring address is properly
          programmed, which potentially lets the device crap over random
          memory.  Fix from Jason Wang.
      
       7) e1000/e1000e fixes for i217 RST handling, and an improper buffer
          address reference in jumbo RX frame processing from Bruce Allan and
          Sebastian Andrzej Siewior, respectively.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        fec_mpc52xx: fix timestamp filtering
        mcs7830: Implement link state detection
        e1000e: fix Rapid Start Technology support for i217
        e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats()
        r8169: call netif_napi_del at errpaths and at driver unload
        tcp: reflect SYN queue_mapping into SYNACK packets
        tcp: do not create inetpeer on SYNACK message
        8139cp/8139too: terminate the eeprom access with the right opmode
        8139cp: set ring address before enabling receiver
        cipso: handle CIPSO options correctly when NetLabel is disabled
        net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()
        bql: Avoid possible inconsistent calculation.
        bql: Avoid unneeded limit decrement.
        bql: Fix POSDIFF() to integer overflow aware.
        net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP
        net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap
        net/mlx4_core: Fixes for VF / Guest startup flow
        net/mlx4_en: Fix improper use of "port" parameter in mlx4_en_event
        net/mlx4_core: Fix number of EQs used in ICM initialisation
        net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int
      4fc3acf2
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 63004afa
      Linus Torvalds authored
      Pull straggler x86 fixes from Peter Anvin:
       "Three groups of patches:
      
        - EFI boot stub documentation and the ability to print error messages;
        - Removal for PTRACE_ARCH_PRCTL for x32 (obsolete interface which
          should never have been ported, and the port is broken and
          potentially dangerous.)
        - ftrace stack corruption fixes.  I'm not super-happy about the
          technical implementation, but it is probably the least invasive in
          the short term.  In the future I would like a single method for
          nesting the debug stack, however."
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32
        x86, efi: Add EFI boot stub documentation
        x86, efi; Add EFI boot stub console support
        x86, efi: Only close open files in error path
        ftrace/x86: Do not change stacks in DEBUG when calling lockdep
        x86: Allow nesting of the debug stack IDT setting
        x86: Reset the debug_stack update counter
        ftrace: Use breakpoint method to update ftrace caller
        ftrace: Synchronize variable setting with breakpoints
      63004afa
    • Linus Torvalds's avatar
      tty: Revert the tty locking series, it needs more work · f309532b
      Linus Torvalds authored
      This reverts the tty layer change to use per-tty locking, because it's
      not correct yet, and fixing it will require some more deep surgery.
      
      The main revert is d29f3ef3 ("tty_lock: Localise the lock"), but
      there are several smaller commits that built upon it, they also get
      reverted here. The list of reverted commits is:
      
        fde86d31 - tty: add lockdep annotations
        8f6576ad - tty: fix ldisc lock inversion trace
        d3ca8b64 - pty: Fix lock inversion
        b1d679af - tty: drop the pty lock during hangup
        abcefe5f - tty/amiserial: Add missing argument for tty_unlock()
        fd11b42e - cris: fix missing tty arg in wait_event_interruptible_tty call
        d29f3ef3 - tty_lock: Localise the lock
      
      The revert had a trivial conflict in the 68360serial.c staging driver
      that got removed in the meantime.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f309532b
    • Stephan Gatzka's avatar
      fec_mpc52xx: fix timestamp filtering · 9ca3cc6f
      Stephan Gatzka authored
      skb_defer_rx_timestamp was called with a freshly allocated skb but must
      be called with rskb instead.
      Signed-off-by: default avatarStephan Gatzka <stephan@gatzka.org>
      Cc: stable <stable@vger.kernel.org>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ca3cc6f
    • Ondrej Zary's avatar
      mcs7830: Implement link state detection · b1ff4f96
      Ondrej Zary authored
      Add .status callback that detects link state changes.
      Tested with MCS7832CV-AA chip (9710:7830, identified as rev.C by the driver).
      Fixes https://bugzilla.kernel.org/show_bug.cgi?id=28532Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1ff4f96
    • Linus Torvalds's avatar
      Merge 'for-linus' branches from git://git.kernel.org/pub/scm/linux/kernel/git/viro/{vfs,signal} · 233e562e
      Linus Torvalds authored
      Pull vfs fix and a fix from the signal changes for frv from Al Viro.
      
      The __kernel_nlink_t for powerpc got scrogged because 64-bit powerpc
      actually depended on the default "unsigned long", while 32-bit powerpc
      had an explicit override to "unsigned short".  Al didn't notice, and
      made both of them be the unsigned short.
      
      The frv signal fix is fallout from simplifying the do_notify_resume()
      code, and leaving an extra parenthesis.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        powerpc: Fix size of st_nlink on 64bit
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        frv: Remove bogus closing parenthesis
      233e562e
    • Anton Blanchard's avatar
      powerpc: Fix size of st_nlink on 64bit · 0fd7bee1
      Anton Blanchard authored
      commit e57f93cc (powerpc: get rid of nlink_t uses, switch to
      explicitly-sized type) changed the size of st_nlink on ppc64 from
      a long to a short, resulting in boot failures.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0fd7bee1
    • Geert Uytterhoeven's avatar
      frv: Remove bogus closing parenthesis · a3936249
      Geert Uytterhoeven authored
      Introduced by commit 6fd84c08
      ("TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a3936249
    • Bruce Allan's avatar
      e1000e: fix Rapid Start Technology support for i217 · 6d7407bf
      Bruce Allan authored
      The definition of I217_PROXY_CTRL must use the BM_PHY_REG() macro instead
      of the PHY_REG() macro for PHY page 800 register 70 since it is for a PHY
      register greater than the maximum allowed by the latter macro, and fix a
      typo setting the I217_MEMPWR register in e1000_suspend_workarounds_ich8lan.
      
      Also for clarity, rename a few defines as bit definitions instead of masks.
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      6d7407bf
    • Sebastian Andrzej Siewior's avatar
      e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats() · 281a8f24
      Sebastian Andrzej Siewior authored
      This is another fixup where the data is not transfered into buffer
      addressed by skb->data but into a page.
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      281a8f24