1. 10 Jan, 2011 6 commits
    • Eric Sandeen's avatar
      ext2: speed up file creates by optimizing rec_len functions · 40a063f6
      Eric Sandeen authored
      The addition of 64k block capability in the rec_len_from_disk
      and rec_len_to_disk functions added a bit of math overhead which
      slows down file create workloads needlessly when the architecture
      cannot even support 64k blocks, thanks to page size limits.
      
      The directory entry checking can also be optimized a bit
      by sprinkling in some unlikely() conditions to move the
      error handling out of line.
      
      bonnie++ sequential file creates on a 512MB ramdisk speeds up
      from about 2200/s to about 2500/s, about a 14% improvement.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      40a063f6
    • Namhyung Kim's avatar
      ext3: Add more journal error check · 156e7431
      Namhyung Kim authored
      Check return value of ext3_journal_get_write_acccess() and
      ext3_journal_dirty_metadata().
      Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      156e7431
    • Namhyung Kim's avatar
      ext3: Add journal error check in resize.c · 41dc6385
      Namhyung Kim authored
      Check return value of ext3_journal_get_write_access() and
      ext3_journal_dirty_metadata().
      Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      41dc6385
    • Joe Perches's avatar
      quota: Use %pV and __attribute__((format (printf in __quota_error and fix fallout · 055adcbd
      Joe Perches authored
      Use %pV in __quota_error so a single printk can not be
      interleaved with other logging messages.
      Add __attribute__((format (printf, 3, 4))) so format
      and arguments can be verified by compiler.
      Make sure printk formats and arguments match.
      
      Block # needed a pointer dereference.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      055adcbd
    • Lukas Czerner's avatar
      ext3: Add FITRIM handling · 9c527492
      Lukas Czerner authored
      The ioctl takes fstrim_range structure (defined in include/linux/fs.h) as an
      argument specifying a range of filesystem to trim and the minimum size of an
      continguous extent to trim. After the FITRIM is done, the number of bytes
      passed from the filesystem down the block stack to the device for potential
      discard is stored in fstrim_range.len.  This number is a maximum discard amount
      from the storage device's perspective, because FITRIM called repeatedly will
      keep sending the same sectors for discard.  fstrim_range.len will report the
      same potential discard bytes each time, but only sectors which had been written
      to between the discards would actually be discarded by the storage device.
      Further, the kernel block layer reserves the right to adjust the discard ranges
      to fit raid stripe geometry, non-trim capable devices in a LVM setup, etc.
      These reductions would not be reflected in fstrim_range.len.
      
      Thus fstrim_range.len can give the user better insight on how much storage
      space has potentially been released for wear-leveling, but it needs to be one
      of only one criteria the userspace tools take into account when trying to
      optimize calls to FITRIM.
      
      Thanks to Greg Freemyer <greg.freemyer@gmail.com> for better commit message.
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      9c527492
    • Lukas Czerner's avatar
      ext3: Add batched discard support for ext3 · b853b96b
      Lukas Czerner authored
      Walk through allocation groups and trim all free extents. It can be
      invoked through FITRIM ioctl on the file system. The main idea is to
      provide a way to trim the whole file system if needed, since some SSD's
      may suffer from performance loss after the whole device was filled (it
      does not mean that fs is full!).
      
      It search for free extents in allocation groups specified by Byte range
      start -> start+len. When the free extent is within this range, blocks are
      marked as used and then trimmed. Afterwards these blocks are marked as
      free in per-group bitmap.
      
      [JK: Fixed up error handling and trimming of a single group]
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      b853b96b
  2. 06 Jan, 2011 9 commits
  3. 05 Jan, 2011 1 commit
  4. 04 Jan, 2011 6 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 65f42886
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        ipv4/route.c: respect prefsrc for local routes
        bridge: stp: ensure mac header is set
        bridge: fix br_multicast_ipv6_rcv for paged skbs
        atl1: fix oops when changing tx/rx ring params
        drivers/atm/atmtcp.c: add missing atm_dev_put
        starfire: Fix dma_addr_t size test for MIPS
        tg3: fix return value check in tg3_read_vpd()
        Broadcom CNIC core network driver: fix mem leak on allocation failures in cnic_alloc_uio_rings()
        ISDN, Gigaset: Fix memory leak in do_disconnect_req()
        CAN: Use inode instead of kernel address for /proc file
        skfp: testing the wrong variable in skfp_driver_init()
        ppp: allow disabling multilink protocol ID compression
        ehea: Avoid changing vlan flags
        ueagle-atm: fix PHY signal initialization race
      65f42886
    • Joel Sing's avatar
      ipv4/route.c: respect prefsrc for local routes · 9fc3bbb4
      Joel Sing authored
      The preferred source address is currently ignored for local routes,
      which results in all local connections having a src address that is the
      same as the local dst address. Fix this by respecting the preferred source
      address when it is provided for local routes.
      
      This bug can be demonstrated as follows:
      
       # ifconfig dummy0 192.168.0.1
       # ip route show table local | grep local.*dummy0
       local 192.168.0.1 dev dummy0  proto kernel  scope host  src 192.168.0.1
       # ip route change table local local 192.168.0.1 dev dummy0 \
           proto kernel scope host src 127.0.0.1
       # ip route show table local | grep local.*dummy0
       local 192.168.0.1 dev dummy0  proto kernel  scope host  src 127.0.0.1
      
      We now establish a local connection and verify the source IP
      address selection:
      
       # nc -l 192.168.0.1 3128 &
       # nc 192.168.0.1 3128 &
       # netstat -ant | grep 192.168.0.1:3128.*EST
       tcp        0      0 192.168.0.1:3128        192.168.0.1:33228 ESTABLISHED
       tcp        0      0 192.168.0.1:33228       192.168.0.1:3128  ESTABLISHED
      Signed-off-by: default avatarJoel Sing <jsing@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9fc3bbb4
    • Christoph Hellwig's avatar
      remove trim_fs method from Documentation/filesystems/Locking · 8a87694e
      Christoph Hellwig authored
      The ->trim_fs has been removed meanwhile, so remove it from the documentation
      as well.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8a87694e
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 989d873f
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: pxa: fix page table corruption on resume
        ARM: it8152: add IT8152_LAST_IRQ definition to fix build error
        ARM: pxa: PXA_ESERIES depends on FB_W100.
        ARM: 6605/1: Add missing include "asm/memory.h"
        ARM: 6540/1: Stop irqsoff trace on return to user
        ARM: 6537/1: update Nomadik, U300 and Ux500 maintainers
        ARM: 6536/1: Add missing SZ_{32,64,128}
        ARM: fix cache-feroceon-l2 after stack based kmap_atomic()
        ARM: fix cache-xsc3l2 after stack based kmap_atomic()
        ARM: get rid of kmap_high_l1_vipt()
        ARM: smp: avoid incrementing mm_users on CPU startup
        ARM: pxa: PXA_ESERIES depends on FB_W100.
      989d873f
    • Andrew Morton's avatar
      arch/mn10300/kernel/irq.c: fix build · d9a1abe4
      Andrew Morton authored
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=25702Reported-by: default avatarMartin Ettl <ettl.martin@gmx.de>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d9a1abe4
    • Mimi Zohar's avatar
      ima: fix add LSM rule bug · 867c2026
      Mimi Zohar authored
      If security_filter_rule_init() doesn't return a rule, then not everything
      is as fine as the return code implies.
      
      This bug only occurs when the LSM (eg. SELinux) is disabled at runtime.
      
      Adding an empty LSM rule causes ima_match_rules() to always succeed,
      ignoring any remaining rules.
      
       default IMA TCB policy:
        # PROC_SUPER_MAGIC
        dont_measure fsmagic=0x9fa0
        # SYSFS_MAGIC
        dont_measure fsmagic=0x62656572
        # DEBUGFS_MAGIC
        dont_measure fsmagic=0x64626720
        # TMPFS_MAGIC
        dont_measure fsmagic=0x01021994
        # SECURITYFS_MAGIC
        dont_measure fsmagic=0x73636673
      
        < LSM specific rule >
        dont_measure obj_type=var_log_t
      
        measure func=BPRM_CHECK
        measure func=FILE_MMAP mask=MAY_EXEC
        measure func=FILE_CHECK mask=MAY_READ uid=0
      
      Thus without the patch, with the boot parameters 'tcb selinux=0', adding
      the above 'dont_measure obj_type=var_log_t' rule to the default IMA TCB
      measurement policy, would result in nothing being measured.  The patch
      prevents the default TCB policy from being replaced.
      Signed-off-by: default avatarMimi Zohar <zohar@us.ibm.com>
      Cc: James Morris <jmorris@namei.org>
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Cc: David Safford <safford@watson.ibm.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      867c2026
  5. 03 Jan, 2011 18 commits
    • Russell King's avatar
    • Florian Westphal's avatar
      bridge: stp: ensure mac header is set · e6f26129
      Florian Westphal authored
      commit bf9ae538
      (llc: use dev_hard_header) removed the
      skb_reset_mac_header call from llc_mac_hdr_init.
      
      This seems fine itself, but br_send_bpdu() invokes ebtables LOCAL_OUT.
      
      We oops in ebt_basic_match() because it assumes eth_hdr(skb) returns
      a meaningful result.
      
      Cc: acme@ghostprotocols.net
      References: https://bugzilla.kernel.org/show_bug.cgi?id=24532Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e6f26129
    • Linus Torvalds's avatar
      Merge branch 'perf-fixes-for-linus' of... · 03ed6a3a
      Linus Torvalds authored
      Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf: Fix callchain hit bad cast on ascii display
        arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU
        watchdog: Improve initialisation error message and documentation
      03ed6a3a
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 4c37a4b5
      Linus Torvalds authored
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
        [media] em28xx: radio_fops should also use unlocked_ioctl
        [media] wm8775: Revert changeset fcb97573 to avoid a regression
        [media] cx25840: Prevent device probe failure due to volume control ERANGE error
      4c37a4b5
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx · d45fa563
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
        dmaengine: provide dummy functions for DMA_ENGINE=n
        mv_xor: fix race in tasklet function
      d45fa563
    • Jan Beulich's avatar
      name_to_dev_t() must not call __init code · a1cf11d8
      Jan Beulich authored
      The function can't be __init itself (being called from some sysfs
      handler), and hence none of the functions it calls can be either.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1cf11d8
    • Tomas Winkler's avatar
      bridge: fix br_multicast_ipv6_rcv for paged skbs · 9d89081d
      Tomas Winkler authored
      use pskb_may_pull to access ipv6 header correctly for paged skbs
      It was omitted in the bridge code leading to crash in blind
      __skb_pull
      
      since the skb is cloned undonditionally we also simplify the
      the exit path
      
      this fixes bug https://bugzilla.kernel.org/show_bug.cgi?id=25202
      
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 IEEE 802.11: authenticated
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 IEEE 802.11: associated (aid 2)
      Dec 15 14:36:40 User-PC hostapd: wlan0: STA 00:15:00:60:5d:34 RADIUS: starting accounting session 4D0608A3-00000005
      Dec 15 14:36:41 User-PC kernel: [175576.120287] ------------[ cut here ]------------
      Dec 15 14:36:41 User-PC kernel: [175576.120452] kernel BUG at include/linux/skbuff.h:1178!
      Dec 15 14:36:41 User-PC kernel: [175576.120609] invalid opcode: 0000 [#1] SMP
      Dec 15 14:36:41 User-PC kernel: [175576.120749] last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/uevent
      Dec 15 14:36:41 User-PC kernel: [175576.121035] Modules linked in: approvals binfmt_misc bridge stp llc parport_pc ppdev arc4 iwlagn snd_hda_codec_realtek iwlcore i915 snd_hda_intel mac80211 joydev snd_hda_codec snd_hwdep snd_pcm snd_seq_midi drm_kms_helper snd_rawmidi drm snd_seq_midi_event snd_seq snd_timer snd_seq_device cfg80211 eeepc_wmi usbhid psmouse intel_agp i2c_algo_bit intel_gtt uvcvideo agpgart videodev sparse_keymap snd shpchp v4l1_compat lp hid video serio_raw soundcore output snd_page_alloc ahci libahci atl1c
      Dec 15 14:36:41 User-PC kernel: [175576.122712]
      Dec 15 14:36:41 User-PC kernel: [175576.122769] Pid: 0, comm: kworker/0:0 Tainted: G        W   2.6.37-rc5-wl+ #3 1015PE/1016P
      Dec 15 14:36:41 User-PC kernel: [175576.123012] EIP: 0060:[<f83edd65>] EFLAGS: 00010283 CPU: 1
      Dec 15 14:36:41 User-PC kernel: [175576.123193] EIP is at br_multicast_rcv+0xc95/0xe1c [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.123362] EAX: 0000001c EBX: f5626318 ECX: 00000000 EDX: 00000000
      Dec 15 14:36:41 User-PC kernel: [175576.123550] ESI: ec512262 EDI: f5626180 EBP: f60b5ca0 ESP: f60b5bd8
      Dec 15 14:36:41 User-PC kernel: [175576.123737]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      Dec 15 14:36:41 User-PC kernel: [175576.123902] Process kworker/0:0 (pid: 0, ti=f60b4000 task=f60a8000 task.ti=f60b0000)
      Dec 15 14:36:41 User-PC kernel: [175576.124137] Stack:
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  ec556500 f6d06800 f60b5be8 c01087d8 ec512262 00000030 00000024 f5626180
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  f572c200 ef463440 f5626300 3affffff f6d06dd0 e60766a4 000000c4 f6d06860
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  ffffffff ec55652c 00000001 f6d06844 f60b5c64 c0138264 c016e451 c013e47d
      Dec 15 14:36:41 User-PC kernel: [175576.124181] Call Trace:
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01087d8>] ? sched_clock+0x8/0x10
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0138264>] ? enqueue_entity+0x174/0x440
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c016e451>] ? sched_clock_cpu+0x131/0x190
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c013e47d>] ? select_task_rq_fair+0x2ad/0x730
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0524fc1>] ? nf_iterate+0x71/0x90
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4914>] ? br_handle_frame_finish+0x184/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4790>] ? br_handle_frame_finish+0x0/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e46e9>] ? br_handle_frame+0x189/0x230 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4790>] ? br_handle_frame_finish+0x0/0x220 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f83e4560>] ? br_handle_frame+0x0/0x230 [bridge]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04ff026>] ? __netif_receive_skb+0x1b6/0x5b0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04f7a30>] ? skb_copy_bits+0x110/0x210
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0503a7f>] ? netif_receive_skb+0x6f/0x80
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cb74c>] ? ieee80211_deliver_skb+0x8c/0x1a0 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cc836>] ? ieee80211_rx_handlers+0xeb6/0x1aa0 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04ff1f0>] ? __netif_receive_skb+0x380/0x5b0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c016e242>] ? sched_clock_local+0xb2/0x190
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c012b688>] ? default_spin_lock_flags+0x8/0x10
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d83df>] ? _raw_spin_lock_irqsave+0x2f/0x50
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82cd621>] ? ieee80211_prepare_and_rx_handle+0x201/0xa90 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f82ce154>] ? ieee80211_rx+0x2a4/0x830 [mac80211]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f815a8d6>] ? iwl_update_stats+0xa6/0x2a0 [iwlcore]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8499212>] ? iwlagn_rx_reply_rx+0x292/0x3b0 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d83df>] ? _raw_spin_lock_irqsave+0x2f/0x50
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8483697>] ? iwl_rx_handle+0xe7/0x350 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<f8486ab7>] ? iwl_irq_tasklet+0xf7/0x5c0 [iwlagn]
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01aece1>] ? __rcu_process_callbacks+0x201/0x2d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150d05>] ? tasklet_action+0xc5/0x100
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150a07>] ? __do_softirq+0x97/0x1d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d910c>] ? nmi_stack_correct+0x2f/0x34
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0150970>] ? __do_softirq+0x0/0x1d0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  <IRQ>
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01508f5>] ? irq_exit+0x65/0x70
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05df062>] ? do_IRQ+0x52/0xc0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c01036b0>] ? common_interrupt+0x30/0x38
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c03a1fc2>] ? intel_idle+0xc2/0x160
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c04daebb>] ? cpuidle_idle_call+0x6b/0x100
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c0101dea>] ? cpu_idle+0x8a/0xf0
      Dec 15 14:36:41 User-PC kernel: [175576.124181]  [<c05d2702>] ? start_secondary+0x1e8/0x1ee
      
      Cc: David Miller <davem@davemloft.net>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d89081d
    • J. K. Cliburn's avatar
      atl1: fix oops when changing tx/rx ring params · 2f32c867
      J. K. Cliburn authored
      Commit 3f5a2a71 zeroes out the statistics
      message block (SMB) and coalescing message block (CMB) when adapter ring
      resources are freed.  This is desirable behavior, but, as a side effect,
      the commit leads to an oops when atl1_set_ringparam() attempts to alter
      the number of rx or tx elements in the ring buffer (by using ethtool
      -G, for example).  We don't want SMB or CMB to change during this
      operation.
      
      Modify atl1_set_ringparam() to preserve SMB and CMB when changing ring
      parameters.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJay Cliburn <jcliburn@gmail.com>
      Reported-by: default avatarTõnu Raitviir <jussuf@linux.ee>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2f32c867
    • Ingo Molnar's avatar
      Merge branch 'perf/urgent' of... · a0a2b71b
      Ingo Molnar authored
      Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent
      a0a2b71b
    • Aric D. Blumer's avatar
      ARM: pxa: fix page table corruption on resume · 24c78557
      Aric D. Blumer authored
      Before this patch, the following error would sometimes occur after a
      resume on pxa3xx:
      
          /path/to/mm/memory.c:144: bad pmd 8040542e.
      
      The problem was that a temporary page table mapping was being improperly
      restored.
      
      The PXA3xx resume code creates a temporary mapping of resume_turn_on_mmu
      to avoid a prefetch abort.  The pxa3xx_resume_after_mmu code requires
      that the r1 register holding the address of this mapping not be
      modified, however, resume_turn_on_mmu does modify it. It is mostly
      correct in that r1 receives the base table address, but it may also
      get other bits in 13:0.  This results in pxa3xx_resume_after_mmu
      restoring the original mapping to the wrong place, corrupting memory
      and leaving the temporary mapping in place.
      Signed-off-by: default avatarMatt Reimer <mreimer@sdgsystems.com>
      Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
      24c78557
    • Mike Rapoport's avatar
      ARM: it8152: add IT8152_LAST_IRQ definition to fix build error · 823a2df2
      Mike Rapoport authored
      The commit 6ac6b817 (ARM: pxa: encode
      IRQ number into .nr_irqs) removed definition of ITE_LAST_IRQ which
      caused the following build error:
      
      CC      arch/arm/common/it8152.o
      arch/arm/common/it8152.c: In function 'it8152_init_irq':
      arch/arm/common/it8152.c:86: error: 'IT8152_LAST_IRQ' undeclared (first use in this function)
      arch/arm/common/it8152.c:86: error: (Each undeclared identifier is reported only once
      arch/arm/common/it8152.c:86: error: for each function it appears in.)
      make[2]: *** [arch/arm/common/it8152.o] Error 1
      
      Defining the IT8152_LAST_IRQ in the arch/arm/include/hardware/it8152.c
      fixes the build.
      Signed-off-by: default avatarMike Rapoport <mike@compulab.co.il>
      Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
      823a2df2
    • Lennert Buytenhek's avatar
      ARM: pxa: PXA_ESERIES depends on FB_W100. · 82427de2
      Lennert Buytenhek authored
      As arch/arm/mach-pxa/eseries.c references w100fb_gpio_{read,write}()
      directly.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@secretlab.ca>
      Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
      82427de2
    • Frederic Weisbecker's avatar
      perf: Fix callchain hit bad cast on ascii display · d425de54
      Frederic Weisbecker authored
      ipchain__fprintf_graph() casts the number of hits in a branch as an
      int, which means we lose its highests bits.
      
      This results in meaningless number of callchain hits in perf.data
      that have a high number of hits recorded, typically those that have
      callchain branches hits appearing more than INT_MAX. This happens
      easily as those are pondered by the event period.
      Reported-by: default avatarNick Piggin <npiggin@kernel.dk>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      d425de54
    • Robert Richter's avatar
      arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU · c7c25802
      Robert Richter authored
      Disable preemption in init_ibs(). The function only checks the
      ibs capabilities and sets up pci devices (if necessary). It runs
      only on one cpu but operates with the local APIC and some MSRs,
      thus it is better to disable preemption.
      
      [    7.034377] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/483
      [    7.034385] caller is setup_APIC_eilvt+0x155/0x180
      [    7.034389] Pid: 483, comm: modprobe Not tainted 2.6.37-rc1-20101110+ #1
      [    7.034392] Call Trace:
      [    7.034400]  [<ffffffff812a2b72>] debug_smp_processor_id+0xd2/0xf0
      [    7.034404]  [<ffffffff8101e985>] setup_APIC_eilvt+0x155/0x180
      [ ... ]
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=22812
      
      Reported-by: <atswartz@gmail.com>
      Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
      Cc: oprofile-list@lists.sourceforge.net <oprofile-list@lists.sourceforge.net>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Dan Carpenter <error27@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: <stable@kernel.org>         [2.6.37.x]
      LKML-Reference: <20110103111514.GM4739@erda.amd.com>
      [ small cleanups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      c7c25802
    • Hans Verkuil's avatar
      [media] em28xx: radio_fops should also use unlocked_ioctl · 8fd0bda5
      Hans Verkuil authored
      em28xx uses core assisted locking, so it shouldn't use .ioctl.
      The .ioctl callback was replaced by .unlocked_ioctl for video nodes,
      but not for radio nodes. This is now corrected.
      Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      8fd0bda5
    • Mauro Carvalho Chehab's avatar
      [media] wm8775: Revert changeset fcb97573 to avoid a regression · 46e67acd
      Mauro Carvalho Chehab authored
      It seems that cx88 and ivtv use wm8775 on some different modes. The
      patch that added support for a board with wm8775 broke ivtv boards with
      this device. As we're too close to release 2.6.37, let's just revert
      it.
      Reported-by: default avatarAndy Walls <awalls@md.metrocast.net>
      Reported-by: default avatarEric Sharkey <eric@lisaneric.org>
      Reported-by: default avatarAuric <auric@aanet.com.au>
      Reported by: David Gesswein <djg@pdp8online.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      46e67acd
    • Andy Walls's avatar
      [media] cx25840: Prevent device probe failure due to volume control ERANGE error · f23b7952
      Andy Walls authored
      This patch fixes a regression that crept into 2.6.36.
      
      The volume control scale in the cx25840 driver has an unusual mapping
      from register values to v4l2 volume control values.  Enforce the mapping
      limits, so that the default volume control setting does not fall out of
      bounds to prevent the cx25840 module device probe from failing.
      Signed-off-by: default avatarAndy Walls <awalls@md.metrocast.net>
      Cc: Hans Verkuil <hverkuil@xs4all.nl>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      f23b7952
    • Guennadi Liakhovetski's avatar
      dmaengine: provide dummy functions for DMA_ENGINE=n · 8f33d527
      Guennadi Liakhovetski authored
      This lets drivers, optionally using the dmaengine, build with DMA_ENGINE
      unselected.
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      8f33d527