1. 24 Sep, 2009 3 commits
    • Rusty Russell's avatar
      virtio_net: don't free buffers in xmit ring · b0c39dbd
      Rusty Russell authored
      The virtio_net driver is complicated by the two methods of freeing old
      xmit buffers (in addition to freeing old ones at the start of the xmit
      path).
      
      The original code used a 1/10 second timer attached to xmit_free(),
      reset on every xmit.  Before we orphaned skbs on xmit, the
      transmitting userspace could block with a full socket until the timer
      fired, the skb destructor was called, and they were re-woken.
      
      So we added the VIRTIO_F_NOTIFY_ON_EMPTY feature: supporting devices
      send an interrupt (even if normally suppressed) on an empty xmit ring
      which makes us schedule xmit_tasklet().  This was a benchmark win.
      
      Unfortunately, VIRTIO_F_NOTIFY_ON_EMPTY makes quite a lot of work: a
      host which is faster than the guest will fire the interrupt every xmit
      packet (slowing the guest down further).  Attempting mitigation in the
      host adds overhead of userspace timers (possibly with the additional
      pain of signals), and risks increasing latency anyway if you get it
      wrong.
      
      In practice, this effect was masked by benchmarks which take advantage
      of GSO (with its inherent transmit batching), but it's still there.
      
      Now we orphan xmitted skbs, the pressure is off: remove both paths and
      no longer request VIRTIO_F_NOTIFY_ON_EMPTY.  Note that the current
      QEMU will notify us even if we don't negotiate this feature (legal,
      but suboptimal); a patch is outstanding to improve that.
      
      Move the skb_orphan/nf_reset to after we've done the send and notified
      the other end, for a slight optimization.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Mark McLoughlin <markmc@redhat.com>
      b0c39dbd
    • Rusty Russell's avatar
      virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb. · 8958f574
      Rusty Russell authored
      This effectively reverts 99ffc696
      "virtio: wean net driver off NETDEV_TX_BUSY".
      
      The complexity of queuing an skb (setting a tasklet to re-xmit) is
      questionable, especially once we get rid of the other reason for the
      tasklet in the next patch.
      
      If the skb won't fit in the tx queue, just return NETDEV_TX_BUSY.
      This is frowned upon, so a followup patch uses a more complex solution.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      8958f574
    • Rusty Russell's avatar
      virtio_net: skb_orphan() and nf_reset() in xmit path. · 2b5bbe3b
      Rusty Russell authored
      The complex transmit free logic was introduced to avoid hangs on
      removing the ip_conntrack module and also because drivers aren't
      generally supposed to keep stale skbs for unbounded times.
      
      After some debate, it was decided that while doing skb_orphan()
      generally is a rat's nest, we can do it in this driver.  Following
      patches take advantage of this.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      2b5bbe3b
  2. 23 Sep, 2009 37 commits
    • Linus Torvalds's avatar
      Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 · a724eada
      Linus Torvalds authored
      * 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6:
        Add MAINTAINERS entry for ARM/INTEL IXP4xx arch support.
        ixp4xx: arch_idle() documentation fixup
        ixp4xx: timer and clocks cleanups
      a724eada
    • Randy Dunlap's avatar
      serial core: fix new kernel-doc warnings · 1b9894f3
      Randy Dunlap authored
      Fix new kernel-doc warnings in serial_core.[hc] files.
      
        Warning(include/linux/serial_core.h:485): No description found for parameter 'uport'
        Warning(include/linux/serial_core.h:485): Excess function parameter 'port' description in 'uart_handle_dcd_change'
        Warning(include/linux/serial_core.h:511): No description found for parameter 'uport'
        Warning(include/linux/serial_core.h:511): Excess function parameter 'port' description in 'uart_handle_cts_change'
        Warning(drivers/serial/serial_core.c:2437): No description found for parameter 'uport'
        Warning(drivers/serial/serial_core.c:2437): Excess function parameter 'port' description in 'uart_add_one_port'
        Warning(drivers/serial/serial_core.c:2509): No description found for parameter 'uport'
        Warning(drivers/serial/serial_core.c:2509): Excess function parameter 'port' description in 'uart_remove_one_port'
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1b9894f3
    • David Howells's avatar
      MN10300: Handle removal of struct uart_info · 70430786
      David Howells authored
      Commit ebd2c8f6 removed struct uart_info and
      commit bdc04e31 further moved delta_msr_wait.
      Fix up the MN10300 on-chip serial port drivers to comply with this.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70430786
    • Christoph Hellwig's avatar
      FRV: Use asm/generic-hardirq.h · a7077099
      Christoph Hellwig authored
      Use asm/generic-hardirq.h to build asm/hardirq.h and also remove the unused
      idle_timestamp field in irq_cpustat whilst we're at it.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a7077099
    • Linus Torvalds's avatar
      Merge branch 'x86/ptrace-syscall-exit' of... · d19110ba
      Linus Torvalds authored
      Merge branch 'x86/ptrace-syscall-exit' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland
      
      * 'x86/ptrace-syscall-exit' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
        x86: ptrace: sysret path should reach syscall_trace_leave
      d19110ba
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/battery-2.6 · 433c24ed
      Linus Torvalds authored
      * git://git.infradead.org/battery-2.6:
        power_supply: Add driver for the PMU on WM831x PMICs
        ds2760_battery: Fix integer overflow for time_to_empty_now
        wm97xx_battery: Convert to dev_pm_ops
        wm97xx_battery: Use irq to detect charger state
        wm97xx_battery: Use platform_data
        wm97xx-core: Pass platform_data to battery
        ds2760_battery: implement set_charged() feature
        power_supply: get_by_name and set_charged functionality
        power_supply: EXPORT_SYMBOL cleanups
        ds2760_battery: add current_accum module parameter
        ds2760_battery: handle full_active_uAh == 0 case correctly
        ds2760_battery: add rated_capacity module parameter
        ds2760_battery: export more features
        ds2760_battery: delay power supply registration
        wm8350_power: Implement charge type property
        power_supply: Add a charge_type property, and use it for olpc driver
        olpc_battery: Add an 'error' sysfs device that displays raw errors
        Revert "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL"
      433c24ed
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 85afd827
      Linus Torvalds authored
      * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm/radeon/r600: set correct pitch for 4 byte copy
        drm/radeon: consolidate family flags used in pciids.
      85afd827
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/mtd-2.6 · a7c367b9
      Linus Torvalds authored
      * git://git.infradead.org/mtd-2.6: (58 commits)
        mtd: jedec_probe: add PSD4256G6V id
        mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board)
        mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)
        m25p80: Add Spansion S25FL129P serial flashes
        jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs
        mtd: sh_flctl: register sh_flctl using platform_driver_probe()
        mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible
        mtd: nand: fix tmio_nand ecc correction
        mtd: nand: add __nand_correct_data helper function
        mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G
        mtd: inftl: fix fold chain block number
        mtd: jedec: fix compilation problem with I28F640C3B definition
        mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver
        mtd: ofpart: Check availability of reg property instead of name property
        driver/Makefile: Initialize "mtd" and "spi" before "net"
        mtd: omap: adding DMA mode support in nand prefetch/post-write
        mtd: omap: add support for nand prefetch-read and post-write
        mtd: add nand support for w90p910 (v2)
        mtd: maps: add mtd-ram support to physmap_of
        mtd: pxa3xx_nand: add single-bit error corrections reporting
        ...
      a7c367b9
    • Linus Torvalds's avatar
      15f964be
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/iommu-2.6 · b09a75fc
      Linus Torvalds authored
      * git://git.infradead.org/iommu-2.6: (23 commits)
        intel-iommu: Disable PMRs after we enable translation, not before
        intel-iommu: Kill DMAR_BROKEN_GFX_WA option.
        intel-iommu: Fix integer wrap on 32 bit kernels
        intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}()
        intel-iommu: Limit DOMAIN_MAX_PFN to fit in an 'unsigned long'
        intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS
        intel-iommu: Disallow interrupt remapping if not all ioapics covered
        intel-iommu: include linux/dmi.h to use dmi_ routines
        pci/dmar: correct off-by-one error in dmar_fault()
        intel-iommu: Cope with yet another BIOS screwup causing crashes
        intel-iommu: iommu init error path bug fixes
        intel-iommu: Mark functions with __init
        USB: Work around BIOS bugs by quiescing USB controllers earlier
        ia64: IOMMU passthrough mode shouldn't trigger swiotlb init
        intel-iommu: make domain_add_dev_info() call domain_context_mapping()
        intel-iommu: Unify hardware and software passthrough support
        intel-iommu: Cope with broken HP DC7900 BIOS
        iommu=pt is a valid early param
        intel-iommu: double kfree()
        intel-iommu: Kill pointless intel_unmap_single() function
        ...
      
      Fixed up trivial include lines conflict in drivers/pci/intel-iommu.c
      b09a75fc
    • Rusty Russell's avatar
      misc: remove redundant start_kernel prototypes · cf63ff5f
      Rusty Russell authored
      Impact: cleanup
      
      No need for redeclaration.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cf63ff5f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · fd8b327e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (41 commits)
        regulator: Add some brief design documentation
        regulator: fix voltage range in da9034 ldo12
        regulator/driver: be more specific in nanodoc for is_enabled
        regulator/lp3971: drop unnecessary initialization
        regulator: drop 'default n'
        regulator: fix typos
        regulator: fix calculation of voltage range in da9034_set_ldo12_voltage()
        regulator: update a filename in documentation
        drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description
        REGULATOR Handle positive returncode from enable
        regulator: tps650xx - build fixes for x86_64
        Fix some regulator documentation
        Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile
        Regulator: Add TPS6507x regulator driver
        Regulator: Add TPS65023 regulator driver
        regulator: userspace: use sysfs_create_group
        regulator: Add GPIO enable control to fixed voltage regulator driver
        Regulator: Implement list_voltage for pcf50633 regulator driver.
        regulator: regulator_enable() permission checking
        regulator: Push locking for regulator_is_enabled() out
        ...
      fd8b327e
    • Linus Torvalds's avatar
      Merge branch 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 0c9af280
      Linus Torvalds authored
      * 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: lx6464es - remove unused struct member
        ALSA: lx6464es - cleanup of rmh message bus function
        ALSA: pcm - Simplify snd_pcm_drain() implementation
      0c9af280
    • Linus Torvalds's avatar
      Merge branch 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · fe61c99a
      Linus Torvalds authored
      * 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ASoC: wm8753: fix mapping when MONOMIX is set to Stereo
        ASoC: some minor changes for AD1836 and AD1938 codec drivers
        ASoC: DaVinci: Fixes to McASP configuration
        ASoC: Blackfin I2S: fix resuming when device hasn't been used
        ASoC: Blackfin I2S: add lost platform_device parameter to resume function
        ASoC: fix typos in Blackfin headers
        ASoC: bf5xx-sport: the irq save/restore funcs take an unsigned long
        ASoC: Blackfin AC97: add a few missing multichannel define handling
      fe61c99a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 9fd815b5
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (22 commits)
        [S390] Update default configuration.
        [S390] hibernate: Do real CPU swap at resume time
        [S390] dasd: tolerate devices that have no feature codes
        [S390] zcrypt: Do not add/remove devices in s/r callbacks
        [S390] hibernate: make sure pfn_is_nosave handles lowcore pages
        [S390] smp: introduce LC_ORDER and simplify lowcore handling
        [S390] ptrace: use common code for simple peek/poke operations
        [S390] fix disabled_wait inline assembly clobber list
        [S390] Change kernel_page_present coding style.
        [S390] hibernation: reset system after resume
        [S390] hibernation: fix guest page hinting related crash
        [S390] Get rid of init_module/delete_module compat functions.
        [S390] Convert sys_execve to function with parameters.
        [S390] Convert sys_clone to function with parameters.
        [S390] qdio: change state of all primed input buffers
        [S390] qdio: reduce per device debug messages
        [S390] cio: introduce consistent subchannel scanning
        [S390] cio: idset use actual number of ssids
        [S390] cio: dont kfree vmalloced memory
        [S390] cio: introduce css_settle
        ...
      9fd815b5
    • Linus Torvalds's avatar
      Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 31bbb9b5
      Linus Torvalds authored
      * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        itimers: Add tracepoints for itimer
        hrtimer: Add tracepoint for hrtimers
        timers: Add tracepoints for timer_list timers
        cputime: Optimize jiffies_to_cputime(1)
        itimers: Simplify arm_timer() code a bit
        itimers: Fix periodic tics precision
        itimers: Merge ITIMER_VIRT and ITIMER_PROF
      
      Trivial header file include conflicts in kernel/fork.c
      31bbb9b5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · ff830b8e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        ieee1394: sbp2: remove a workaround for Momobay FX-3A
        firewire: sbp2: remove a workaround for Momobay FX-3A
        firewire: sbp2: fix status reception
        firewire: core: fix topology map response handler
        firewire: core: fix race with parallel PCI device probe
        firewire: core: header file cleanup
        firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)
        ieee1394: raw1394: Do not leak memory on failed trylock.
      ff830b8e
    • Linus Torvalds's avatar
      Merge branch 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 · 746942d0
      Linus Torvalds authored
      * 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:
        SFI: remove unneeded includes
        sfi: Remove unused code
        SFI: Hook PCI MMCONFIG
        x86: add arch-specific SFI support
        SFI: add capability to parse ACPI tables
        SFI: add platform-independent core support
        SFI: create linux/sfi.h
        SFI: Simple Firmware Interface - MAINTAINERS, Kconfig
      746942d0
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · c11f6c82
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (119 commits)
        ACPI: don't pass handle for fixed hardware notifications
        ACPI: remove null pointer checks in deferred execution path
        ACPI: simplify deferred execution path
        acerhdf: additional BIOS versions
        acerhdf: convert to dev_pm_ops
        acerhdf: fix fan control for AOA150 model
        thermal: add missing Kconfig dependency
        acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file
        hp-wmi: fix rfkill memory leak on unload
        ACPI: remove unnecessary #ifdef CONFIG_DMI
        ACPI: linux/acpi.h should not include linux/dmi.h
        hwmon driver for ACPI 4.0 power meters
        topstar-laptop: add new driver for hotkeys support on Topstar N01
        thinkpad_acpi: fix rfkill memory leak on unload
        thinkpad-acpi: report brightness events when required
        thinkpad-acpi: don't poll by default any of the reserved hotkeys
        thinkpad-acpi: Fix procfs hotkey reset command
        thinkpad-acpi: deprecate hotkey_bios_mask
        thinkpad-acpi: hotkey poll fixes
        thinkpad-acpi: be more strict when detecting a ThinkPad
        ...
      c11f6c82
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 40aba218
      Linus Torvalds authored
      * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        i2c: Clearly mark ACPI drivers as such
        i2c: Add driver for SMBus Control Method Interface
        i2c-pnx: Correct use of request_region/request_mem_region
        MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665
        i2c-piix4: Add AMD SB900 SMBus device ID
        i2c/chips: Remove deprecated pcf8574 driver
        i2c/chips: Remove deprecated pca9539 driver
        i2c/chips: Remove deprecated pcf8575 driver
        gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver
        i2c/scx200_acb: Provide more information on bus errors
        i2c: Provide compatibility links for i2c adapters
        i2c: Convert i2c adapters to bus devices
        i2c: Convert i2c clients to a device type
        i2c/tsl2550: Use combined SMBus transactions
        i2c-taos-evm: Switch echo off to improve performance
        i2c: Drop unused i2c_driver.id field
      40aba218
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 · b64ada6b
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (85 commits)
        ocfs2: Use buffer IO if we are appending a file.
        ocfs2: add spinlock protection when dealing with lockres->purge.
        dlmglue.c: add missed mlog lines
        ocfs2: __ocfs2_abort() should not enable panic for local mounts
        ocfs2: Add ioctl for reflink.
        ocfs2: Enable refcount tree support.
        ocfs2: Implement ocfs2_reflink.
        ocfs2: Add preserve to reflink.
        ocfs2: Create reflinked file in orphan dir.
        ocfs2: Use proper parameter for some inode operation.
        ocfs2: Make transaction extend more efficient.
        ocfs2: Don't merge in 1st refcount ops of reflink.
        ocfs2: Modify removing xattr process for refcount.
        ocfs2: Add reflink support for xattr.
        ocfs2: Create an xattr indexed block if needed.
        ocfs2: Call refcount tree remove process properly.
        ocfs2: Attach xattr clusters to refcount tree.
        ocfs2: Abstract ocfs2 xattr tree extend rec iteration process.
        ocfs2: Abstract the creation of xattr block.
        ocfs2: Remove inode from ocfs2_xattr_bucket_get_name_value.
        ...
      b64ada6b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · be90a49c
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (142 commits)
        USB: Fix sysfs paths in documentation
        USB: skeleton: fix coding style issues.
        USB: O_NONBLOCK in read path of skeleton
        USB: make usb-skeleton honor O_NONBLOCK in write path
        USB: skel_read really sucks royally
        USB: Add hub descriptor update hook for xHCI
        USB: xhci: Support USB hubs.
        USB: xhci: Set multi-TT field for LS/FS devices under hubs.
        USB: xhci: Set route string for all devices.
        USB: xhci: Fix command wait list handling.
        USB: xhci: Change how xHCI commands are handled.
        USB: xhci: Refactor input device context setup.
        USB: xhci: Endpoint representation refactoring.
        USB: gadget: ether needs to select CRC32
        USB: fix USBTMC get_capabilities success handling
        USB: fix missing error check in probing
        USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag
        USB: support for autosuspend in sierra while online
        USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume
        USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp
        ...
      be90a49c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus · 1f0918d0
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY
        lguest: cleanup for map_switcher()
        lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET
        lguest: use set_pte/set_pmd uniformly for real page table entries
        lguest: move panic notifier registration to its expected place.
        virtio_blk: add support for cache flush
        virtio: add virtio IDs file
        virtio: get rid of redundant VIRTIO_ID_9P definition
        virtio: make add_buf return capacity remaining
        virtio_pci: minor MSI-X cleanups
      1f0918d0
    • Hugh Dickins's avatar
      nommu: fix two build breakages · 4266c97a
      Hugh Dickins authored
      My 58fa879e "mm: FOLL flags for GUP flags"
      broke CONFIG_NOMMU build by forgetting to update nommu.c foll_flags type:
      
        mm/nommu.c:171: error: conflicting types for `__get_user_pages'
        mm/internal.h:254: error: previous declaration of `__get_user_pages' was here
        make[1]: *** [mm/nommu.o] Error 1
      
      My 03f6462a "mm: move highest_memmap_pfn"
      broke CONFIG_NOMMU build by forgetting to add a nommu.c highest_memmap_pfn:
      
        mm/built-in.o: In function `memmap_init_zone':
        (.meminit.text+0x326): undefined reference to `highest_memmap_pfn'
        mm/built-in.o: In function `memmap_init_zone':
        (.meminit.text+0x32d): undefined reference to `highest_memmap_pfn'
      
      Fix both breakages, and give myself 30 lashes (ouch!)
      Reported-by: default avatarMichal Simek <michal.simek@petalogix.com>
      Signed-off-by: default avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4266c97a
    • Heiko Carstens's avatar
      fs: change sys_truncate length parameter type · 4fd8da8d
      Heiko Carstens authored
      For this system call user space passes a signed long length parameter,
      while the kernel side takes an unsigned long parameter and converts it
      later to signed long again.
      
      This has led to bugs in compat wrappers see e.g.  dd90bbd5 "powerpc: Add
      compat_sys_truncate".  The s390 compat wrapper for this functions is
      broken as well since it also performs zero extension instead of sign
      extension for the length parameter.
      
      In addition if hpa comes up with an automated way of generating
      compat wrappers it would generate a wrong one here.
      
      So change the length parameter from unsigned long to long.
      
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4fd8da8d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score · a6e995ad
      Linus Torvalds authored
      * 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score:
        score: update email address in MAINTAINERS.
        score: Cleanup linker script using new macros.
        score: Make THREAD_SIZE available to assembly files.
        score: Make PAGE_SIZE available to assembly.
      a6e995ad
    • Linus Torvalds's avatar
      Merge branch 'x86/orig_ax' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland · 547ad5ac
      Linus Torvalds authored
      * 'x86/orig_ax' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
        x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax>=0
        x86: ptrace: do not sign-extend orig_ax on write
        x86: syscall_get_nr returns int
        asm-generic: syscall_get_nr returns int
      547ad5ac
    • H Hartley Sweeten's avatar
      jbd.h: bitfields should be unsigned · 4fefce9a
      H Hartley Sweeten authored
      bitfields should be unsigned.
      
      This fixes sparse noise:
        error: dubious one-bit signed bitfield
      Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
      Cc: Jan Kara <jack@ucw.cz>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4fefce9a
    • Heiko Carstens's avatar
      ext2: fix format string compile warning (ino_t) · a4255e4c
      Heiko Carstens authored
      Unlike on most other architectures ino_t is an unsigned int on s390.  So
      add an explicit cast to avoid this compile warning:
      
      fs/ext2/namei.c: In function 'ext2_lookup':
      fs/ext2/namei.c:73: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'ino_t'
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a4255e4c
    • Doug Graham's avatar
      V3 minixfs: add missing directory type checking · 9f6c1333
      Doug Graham authored
      There are a few places in the Minix FS code where the "inode" field of a
      minix_dir_entry is used without checking first to see if the dirent is
      really a minix3_dir_entry.  The inode number in a V1/V2 dirent is 16 bits,
      whereas that in a V3 dirent is 32 bits.
      
      Accessing it as a 16 bit field when it really should be accessed as a 32
      bit field probably kinda sorta works on a little-endian machine, but leads
      to some rather odd behaviour on big-endian machines.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarDoug Graham <dgraham@nortel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f6c1333
    • Aaro Koskinen's avatar
      sisfb: change SiS_DDC_Port type to SISIOADDRESS · 532f649f
      Aaro Koskinen authored
      The patch enables the driver to be used on platforms such as ARM where an
      I/O address is a 32-bit memory address.
      
      The patch avoids the following kernel oops:
      
      debian:~# modprobe sisfb
      [   73.070000] sisfb: Video ROM found
      [   73.080000] sisfb: Video RAM at 0x80000000, mapped to 0xe0a00000, size 1024k
      [   73.090000] sisfb: MMIO at 0x84080000, mapped to 0xe0b80000, size 256k
      [   73.090000] sisfb: Memory heap starting at 800K, size 32K
      [   73.360000] Unable to handle kernel paging request at virtual address 6e000844
      [   73.380000] pgd = df230000
      [   73.380000] [6e000844] *pgd=00000000
      [   73.380000] Internal error: Oops: 8f5 [#1]
      [   73.380000] Modules linked in: sisfb(+) fb cfbcopyarea cfbimgblt cfbfillrect
      [   73.380000] CPU: 0    Not tainted  (2.6.31-iop32x #1)
      [   73.380000] PC is at SiS_SetRegANDOR+0x10/0x38 [sisfb]
      [   73.380000] LR is at SiS_SetSCLKHigh+0x38/0x94 [sisfb]
      [   73.380000] pc : [<bf01dc00>]    lr : [<bf0238f8>]    psr: 60000013
      [   73.380000] sp : df38fd00  ip : 6e000000  fp : 00000002
      [   73.380000] r10: 00000108  r9 : 00000000  r8 : 00000108
      [   73.380000] r7 : df064258  r6 : 00000110  r5 : 6e000844  r4 : 0000010a
      [   73.380000] r3 : 00000001  r2 : 0000000e  r1 : 00000011  r0 : 00000844
      [   73.380000] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   73.380000] Control: 0000397f  Table: bf230000  DAC: 00000015
      [   73.380000] Process modprobe (pid: 1849, stack limit = 0xdf38e270)
      [   73.380000] Stack: (0xdf38fd00 to 0xdf390000)
      [   73.380000] fd00: 0000010a 00000108 df064258 df064258 df064258 00000000 00000000 bf02c4e0
      [   73.380000] fd20: 00000114 bf02c50c 00000013 00000114 0000010a df064258 00000000 bf02c980
      [   73.380000] fd40: 00009c66 00000004 00000001 df064250 a0010000 a6a2a0a0 df064250 00000003
      [   73.380000] fd60: df064250 00000000 df064258 0000fffd 00000000 00000000 00000000 bf033948
      [   73.380000] fd80: 00000000 00000000 00000000 bf019e2c 00000000 df064a70 bf03b470 00010000
      [   73.380000] fda0: 00000000 df064250 00000000 df831c00 00000012 bf039f70 00000000 c00abed8
      [   73.380000] fdc0: 000008a6 000008a4 df0649b0 df064878 df064258 df064000 00000000 00000000
      [   73.380000] fde0: 00000001 00008000 00000001 00030000 df81c930 bf049f88 df831c00 00000000
      [   73.380000] fe00: bf049f58 df3952a0 c0447708 bf049f88 bf049fe0 c0191980 df831c00 c0191b10
      [   73.380000] fe20: df831c58 bf049f58 df831c00 bf04aca8 df3952a0 df831c58 df831c58 bf049f88
      [   73.380000] fe40: c01ba1b4 c01ba0a0 df831c58 df831c8c bf049f88 c01ba1b4 df3952a0 00000000
      [   73.380000] fe60: c03e265c c01ba240 00000000 df38fe78 bf049f88 c01b990c df812938 df81b8d0
      [   73.380000] fe80: df3952a0 df807780 00000000 00000060 bf049f88 c01b9224 bf0429c8 00000000
      [   73.380000] fea0: bf049f58 00000000 bf049f88 00000000 00000000 bf04aea8 00000000 c01ba4e4
      [   73.380000] fec0: e09861a0 bf049f58 00000000 bf049f88 00000000 c0191f20 00000000 00000000
      [   73.380000] fee0: c03f7bac bf04d418 0000fff2 0000fff1 bf04ad08 0002f260 0002f260 e0986038
      [   73.380000] ff00: e0986150 e098568b df143340 e0990280 00000036 c03d8b00 fffffffd 00000000
      [   73.380000] ff20: bf04acfc 00000000 fffffffc 0003cf4b 00018098 c03f7bac 00000000 bf04d000
      [   73.380000] ff40: df38e000 00000000 bedc0984 c00272a4 ffffffff c005bc88 00000000 00000000
      [   73.380000] ff60: 0003cf4b 0003cf4b 00018098 bf04acfc 00000000 c0027fe8 df38e000 00000000
      [   73.380000] ff80: bedc0984 c006882c 00001000 00000003 00000000 00009064 00000000 00008edc
      [   73.380000] ffa0: 00000080 c0027e20 00009064 00000000 4014e000 0003cf4b 00018098 0003cf4b
      [   73.380000] ffc0: 00009064 00000000 00008edc 00000080 00000000 00000000 40025000 bedc0984
      [   73.380000] ffe0: 00000000 bedc08fc 0000b6b0 400e8f34 60000010 4014e000 00000000 00000000
      [   73.380000] [<bf01dc00>] (SiS_SetRegANDOR+0x10/0x38 [sisfb]) from [<df064258>] (0xdf064258)
      [   73.380000] Code: e92d0030 e20110ff e280546e e3a0c46e (e5c51000)
      [   73.680000] ---[ end trace 62a93e01df37a5f2 ]---
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: Thomas Winischhofer <thomas@winischhofer.net>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      532f649f
    • Peter Korsgaard's avatar
      video: s3c_fb.c: fix build with CONFIG_HOTPLUG=n · 3163eaba
      Peter Korsgaard authored
      Fixes `s3c_fb_remove' referenced in section `.data' of
      drivers/built-in.o: defined in discarded section `.devexit.text' of
      drivers/built-in.o
      
      With CONFIG_HOTPLUG=n, functions marked with __devexit gets removed,
      so make sure we use __devexit_p when referencing pointers to them.
      Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
      Acked-by: default avatarBen Dooks <ben-linux@fluff.org>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3163eaba
    • Andrew Morton's avatar
      drivers/video/tmiofb.c: fix uninitialised return value · a9672c4b
      Andrew Morton authored
      drivers/video/tmiofb.c: In function 'tmiofb_resume':
      drivers/video/tmiofb.c:977: warning: 'retval' may be used uninitialized in this function
      Acked-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a9672c4b
    • Francisco Jerez's avatar
      vgacon: prevent vgacon_deinit from touching the hardware for inactive consoles. · f0c7d2b7
      Francisco Jerez authored
      fbcon makes the (reasonable) assumption that it only needs to program the
      hardware once, when fbcon_init() is called for the foreground console.
      
      This doesn't always play well with vgacon because vgacon_deinit() is only
      doing its job when the last console it owns is closed (when switching from
      vgacon to fbcon, that's usually *after* fbcon_init() has set the new
      mode).
      
      Depending on the hardware this can cause the wrong framebuffer location to
      be scanned out (e.g.  reproduced on nv05 with the nouveau framebuffer
      driver).
      Signed-off-by: default avatarFrancisco Jerez <currojerez@riseup.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f0c7d2b7
    • Ian Armstrong's avatar
      fbcon: only unbind from console if successfully registered · 2ddce3fd
      Ian Armstrong authored
      Attempting to unload a framebuffer module calls unregister_framebuffer()
      which in turn gets fbcon to release it.  If fbcon has no framebuffers
      linked to a console, it will also unbind itself from the console driver.
      However, if fbcon never registered itself as a console driver, the unbind
      will fail causing the framebuffer device entry to persist.  In most cases
      this failure will result in an oops when attempting to access the now
      non-existent device.
      
      This patch ensures that the fbcon unbind request will succeed even if a
      bind was never done.  It tracks if a successful bind ever occurred & will
      only attempt to unbind if needed.  If there never was a bind, it simply
      returns with no error.
      Signed-off-by: default avatarIan Armstrong <ian@iarmst.demon.co.uk>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2ddce3fd
    • Jean Delvare's avatar
      matroxfb: get rid of CONFIG_FB_MATROX_32MB · a690606d
      Jean Delvare authored
      CONFIG_FB_MATROX_32MB is always enabled, so there is no point in having
      ifdefs all around.  And it is bad practice to use CONFIG_* as a name for
      something which is not a Kconfig option.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarPetr Vandrovec <vandrove@vc.cvut.cz>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a690606d
    • Jean Delvare's avatar
      matroxfb: get rid of unneeded macro MINFO_FROM · ee5a2749
      Jean Delvare authored
      With multihead support always enabled, macros MINFO_FROM and
      MINFO_FROM_INFO are no longer needed and make the code harder to read.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarPetr Vandrovec <vandrove@vc.cvut.cz>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee5a2749