Skip to content
  1. Jan 28, 2010
    • David VomLehn's avatar
      MIPS: PowerTV: Fix support for timer interrupts with > 64 external IRQs · 010c108d
      David VomLehn authored
      
      
      The MIPS processor is limited to 64 external interrupt sources. Using a
      greater number without IRQ sharing requires reading platform-specific
      registers. On such platforms, reading the IntCtl register to determine
      which interrupt corresponds to a timer interrupt will not work.
      
      On MIPSR2 systems there is a solution - the TI bit in the Cause register,
      specifically indicates that a timer interrupt has occured. This patch uses
      that bit to detect interrupts for MIPSR2 processors, which may be expected
      to work regardless of how the timer interrupt may be routed in the hardware.
      
      Signed-off-by: default avatarDavid VomLehn <(dvomlehn@cisco.com)>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/804/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      010c108d
    • David VomLehn's avatar
      MIPS: PowerTV: Streamline access to platform device registers · 59dfa2fc
      David VomLehn authored
      
      
      Pre-compute addresses for the basic ASIC registers. This speeds up access
      and allows memory for unused configurations to be freed. In addition,
      uninitialized register addresses will be returned as NULL to catch bad
      usage quickly.
      
      Signed-off-by: default avatarDavid VomLehn <dvomlehn@cisco.com>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/806/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      59dfa2fc
    • Alexander Clouter's avatar
      MIPS: Fix vmlinuz build for 32bit-only math shells · 9c4a6fce
      Alexander Clouter authored
      
      
      POSIX requires $((<expression>)) arithmetic in sh only to have long
      arithmetic so on 32-bit sh binaries might do only 32-bit arithmetic but
      the arithmetic done in arch/mips/boot/compressed/Makefile needs 64-bit.
      
      I play with the AR7 platform, so VMLINUX_LOAD_ADDRESS is
      0xffffffff94100000, and for an example 4MiB kernel
      VMLINUZ_LOAD_ADDRESS is made out to be:
      ----
      alex@berk:~$ bash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      ffffffff94500000
      alex@berk:~$ dash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      80000000003fffff
      ----
      
      The former is obviously correct whilst the later breaks things royally.
      
      Fortunately working with only the lower 32bit's works for both bash and
      dash:
      ----
      $ bash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      $ dash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      ----
      
      So, we can split the original 64bit string to two parts, and only
      calculate the low 32bit part, which is big enough (1GiB kernel sizes
      anyone?) for a normal Linux kernel image file, now, we calculate the
      VMLINUZ_LOAD_ADDRESS like this:
      
      1. if present, append top 32bit of VMLINUX_LOAD_ADDRESS" as a prefix
      2. get the sum of the low 32bit of VMLINUX_LOAD_ADDRESS + VMLINUX_SIZE
      
      This patch fixes vmlinuz kernel builds on systems where only a
      32bit-only math shell is available.
      
      Patch Changelog:
        Version 2
          - simplified method by using 'expr' for 'substr' and making it work
      	with dash once again
        Version 1
          - Revert the removals of '-n "$(VMLINUX_SIZE)"' to avoid the error
              of "make clean"
          - Consider more cases of the VMLINUX_LOAD_ADDRESS
        Version 0
          - initial release
      
      Signed-off-by: default avatarAlexander Clouter <alex@digriz.org.uk>
      Acked-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Patchwork: http://patchwork.linux-mips.org/patch/861/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      9c4a6fce
    • Wu Zhangjin's avatar
      MIPS: Add support of LZO-compressed kernels · fe1d45e0
      Wu Zhangjin authored
      
      
      The necessary changes to the x86 Kconfig and boot/compressed to allow the
      use of this new compression method.
      
      Signed-off-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Patchwork: http://patchwork.linux-mips.org/patch/857/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      fe1d45e0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · be8cde8b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree
        [SCSI] zfcp: Set hardware timeout as requested by BSG request.
        [SCSI] zfcp: Introduce bsg_timeout callback.
        [SCSI] scsi_transport_fc: Allow LLD to reset FC BSG timeout
        [SCSI] zfcp: add missing compat ptr conversion
        [SCSI] zfcp: Fix linebreak in hba trace
        [SCSI] zfcp: Issue zfcp_fc_wka_port_put after FC CT BSG request
        [SCSI] qla2xxx: Update version number to 8.03.01-k10.
        [SCSI] fc-transport: Use packed modifier for fc_bsg_request structure.
        [SCSI] qla2xxx: Perform fast mailbox read of flash regardless of size nor address alignment.
        [SCSI] qla2xxx: Correct FCP2 recovery handling.
        [SCSI] scsi_lib: Fix bug in completion of bidi commands
        [SCSI] mptsas: Fix issue with chain pools allocation on katmai
        [SCSI] aacraid: fix File System going into read-only mode
        [SCSI] lpfc: fix file permissions
      be8cde8b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 981a2edd
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] fix single stepped svcs with TRACE_IRQFLAGS=y
        [S390] zcrypt: Do not remove coprocessor for error 8/72
        [S390] sclp_vt220: set initial terminal window size
        [S390] use set_current_state in sigsuspend
        [S390] irqflags: add missing types.h include
        [S390] dasd: fix possible NULL pointer errors
      981a2edd
    • Chris Wilson's avatar
      drm/i915: Selectively enable self-reclaim · 4bdadb97
      Chris Wilson authored
      
      
      Having missed the ENOMEM return via i915_gem_fault(), there are probably
      other paths that I also missed. By not enabling NORETRY by default these
      paths can run the shrinker and take memory from the system (but not from
      our own inactive lists because our shrinker can not run whilst we hold
      the struct mutex) and this may allow the system to survive a little longer
      whilst our drivers consume all available memory.
      
      References:
        OOM killer unexpectedly called with kernel 2.6.32
        http://bugzilla.kernel.org/show_bug.cgi?id=14933
      
      v2: Pass gfp into page mapping.
      v3: Use new read_cache_page_gfp() instead of open-coding.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4bdadb97
    • Linus Torvalds's avatar
      mm: add new 'read_cache_page_gfp()' helper function · 0531b2aa
      Linus Torvalds authored
      
      
      It's a simplified 'read_cache_page()' which takes a page allocation
      flag, so that different paths can control how aggressive the memory
      allocations are that populate a address space.
      
      In particular, the intel GPU object mapping code wants to be able to do
      a certain amount of own internal memory management by automatically
      shrinking the address space when memory starts getting tight.  This
      allows it to dynamically use different memory allocation policies on a
      per-allocation basis, rather than depend on the (static) address space
      gfp policy.
      
      The actual new function is a one-liner, but re-organizing the helper
      functions to the point where you can do this with a single line of code
      is what most of the patch is all about.
      
      Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0531b2aa
  2. Jan 27, 2010
  3. Jan 26, 2010
    • David S. Miller's avatar
      sparc64: Fix UP build. · 6abce771
      David S. Miller authored
      
      
      Can't reference irq_desc[].affinity when !SMP.
      
      Reported-by: default avatarAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6abce771
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 9a3cbe32
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag
        ext4: Fix quota accounting error with fallocate
        ext4: Handle -EDQUOT error on write
      9a3cbe32
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 01974ea6
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        [WATCHDOG] sbc_fitpc2_wdt: fix I/O space access technique.
        [WATCHDOG] ixp2000: Fix build failure caused by missing include
      01974ea6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 7c1c05af
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ASoC: fix a memory-leak in wm8903
        ALSA: hda - add possibility to choose speakers configuration for 4930g
        ALSA: hda - Fix HP T5735 automute
        ALSA: hda - Turn on EAPD only if available for Realtek codecs
        ALSA: hda - Fix parsing pin node 0x21 on ALC259
      7c1c05af
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 486d35e2
      Linus Torvalds authored
      * 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: Fix leak of free lapic date in kvm_arch_vcpu_init()
        KVM: x86: Fix probable memory leak of vcpu->arch.mce_banks
        KVM: S390: fix potential array overrun in intercept handling
        KVM: fix spurious interrupt with irqfd
        eventfd - allow atomic read and waitqueue remove
        KVM: MMU: bail out pagewalk on kvm_read_guest error
        KVM: properly check max PIC pin in irq route setup
        KVM: only allow one gsi per fd
        KVM: x86: Fix host_mapping_level()
        KVM: powerpc: Show timing option only on embedded
        KVM: Fix race between APIC TMR and IRR
      486d35e2
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 · a8d0b666
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubi-2.6:
        UBI: fix memory leak in update path
        UBI: add more checks to chdev open
        UBI: initialise update marker
      a8d0b666
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · c799d153
      Linus Torvalds authored
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (fschmd) Fix a memleak on multiple opens of /dev/watchdog
        hwmon: (asus_atk0110) Do not fail if MBIF is missing
        hwmon: (amc6821) Double unlock bug
        hwmon: (smsc47m1) Fix section mismatch
      c799d153
    • Linus Torvalds's avatar
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · abefedd5
      Linus Torvalds authored
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (95 commits)
        drm/radeon/kms: preface warning printk with driver name
        drm/radeon/kms: drop unnecessary printks.
        drm: fix regression in fb blank handling
        drm/radeon/kms: make hibernate work on IGPs
        drm/vmwgfx: Optimize memory footprint for DMA buffers.
        drm/ttm: Allow system memory as a busy placement.
        drm/ttm: Fix race condition in ttm_bo_delayed_delete (v3, final)
        drm/nv50: prevent switching off SOR when in use for DVI-over-DP
        drm/nv50: fail auxch transaction if reply count not what we expect
        drm/nouveau: fix failure path if userspace specifies no valid memtypes
        drm/nouveau: report LVDS as disconnected if lid closed
        drm/radeon/kms: fix legacy get_engine/memory clock
        drm/radeon/kms/atom: atom parser fixes
        drm/radeon/kms: clean up atombios pll code
        drm/radeon/kms: clean up pll struct
        drm/radeon/kms/atom: fix crtc lock ordering
        drm/radeon: r6xx/r7xx possible security issue, system ram access
        drm/radeon/kms: r600/r700 don't test ib if ib initialization fails
        drm/radeon/kms: Forbid creation of framebuffer with no valid GEM object
        drm/radeon/kms: r600 handle irq vector ring overflow
        ...
      abefedd5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 840f51ff
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Fix IRQ ->set_affinity() methods.
        sparc: cpumask_of_node() should handle -1 as a node
        sparc64: Update defconfig.
        sparc: Add missing SW perf fault events.
        sparc64: Fully support both performance counters.
        sparc64: Add perf callchain support.
        sparc: convert to arch_gettimeoffset()
        sparc: leds_resource.end assigned to itself in clock_board_probe()
        sparc32: Fix page_to_phys().
        sparc: Simplify param.h by simply including <asm-generic/param.h>
        sparc32: Update defconfig.
        SPARC: use helpers for rlimits
        sparc: copy_from_user() should not return -EFAULT
      840f51ff
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · e2197787
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
        virtio_net: Make delayed refill more reliable
        sfc: Use fixed-size buffers for MCDI NVRAM requests
        sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer
        tcp_probe: avoid modulus operation and wrap fix
        qlge: Only free resources if they were allocated
        netns xfrm: deal with dst entries in netns
        sky2: revert config space change
        vlan: fix vlan_skb_recv()
        netns xfrm: fix "ip xfrm state|policy count" misreport
        sky2: Enable/disable WOL per hardware device
        net: Fix IPv6 GSO type checks in Intel ethernet drivers
        igb/igbvf: cleanup exception handling in tx_map_adv
        MAINTAINERS: Add Intel igbvf maintainer
        e1000/e1000e: don't use small hardware rx buffers
        fmvj18x_cs: add new id (Panasonic lan & modem card)
        be2net: swap only first 2 fields of mcc_wrb
        Please add support for Microsoft MN-120 PCMCIA network card
        be2net: fix bug in rx page posting
        wimax/i2400m: Add support for more i6x50 SKUs
        e1000e: enhance frame fragment detection
        ...
      e2197787
    • Linus Torvalds's avatar
      Merge branch 'omap-fixes-for-linus' of... · 4f4e65d2
      Linus Torvalds authored
      Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
      
      * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (25 commits)
        OMAP2/3: DMTIMER: Clear pending interrupts when stopping a timer
        PM debug: Fix warning when no CONFIG_DEBUG_FS
        OMAP3: PM: DSS PM_WKEN to refill DMA
        OMAP: timekeeping: time should not stop during suspend
        OMAP3: PM: Force write last pad config register into save area
        OMAP: omap3_pm_get_suspend_state() error ignored in pwrdm_suspend_get()
        OMAP3: PM: Enable wake-up from McBSP2, 3 and 4 modules
        OMAP3: PM debug: fix build error when !CONFIG_DEBUG_FS
        OMAP3: PM: Removing redundant and potentially dangerous PRCM configration
        OMAP3: Fixed ARM aux ctrl register save/restore
        OMAP3: CPUidle: Fixed timer resolution
        OMAP3: PM: Remove duplicate code blocks
        OMAP3: PM: Disable interrupt controller AUTOIDLE before WFI
        OMAP3: PM: Enable system control module autoidle
        OMAP3: PM: Ack pending interrupts before entering suspend
        omap: Enable GPMC clock in gpmc_init
        OMAP1 clock: fix for "BUG: spinlock lockup on CPU#0"
        OMAP4: clocks: Fix the clksel_rate struct DPLL divs
        OMAP4: PRCM: Fix the base address for CHIRONSS reg defines
        OMAP: dma_chan[lch_head].flag & OMAP_DMA_ACTIVE tested twice in omap_dma_unlink_lch()
        ...
      4f4e65d2
    • Herbert Xu's avatar
      virtio_net: Make delayed refill more reliable · 39d32157
      Herbert Xu authored
      
      
      I have seen RX stalls on a machine that experienced a suspected
      OOM.  After the stall, the RX buffer is empty on the guest side
      and there are exactly 16 entries available on the host side.  As
      the number of entries is less than that required by a maximal
      skb, the host cannot proceed.
      
      The guest did not have a refill job scheduled.
      
      My diagnosis is that an OOM had occured, with the delayed refill
      job scheduled.  The job was able to allocate at least one skb, but
      not enough to overcome the minimum required by the host to proceed.
      
      As the refill job would only reschedule itself if it failed completely
      to allocate any skbs, this would lead to an RX stall.
      
      The following patch removes this stall possibility by always
      rescheduling the refill job until the ring is totally refilled.
      
      Testing has shown that the RX stall no longer occurs whereas
      previously it would occur within a day.
      
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39d32157
    • Ben Hutchings's avatar
      sfc: Use fixed-size buffers for MCDI NVRAM requests · 5a27e86b
      Ben Hutchings authored
      
      
      The low-level MCDI code always uses 32-bit MMIO operations, and
      callers must pad input and output buffers to multiples of 4 bytes.
      The MCDI NVRAM functions are not doing this.  Also, their buffers are
      declared as variable-length arrays with no explicit maximum length.
      
      Switch to a fixed buffer size based on the chunk size used by the
      MTD driver (which is a multiple of 4).
      
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a27e86b
    • Guido Barzini's avatar
      sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer · 8704a2c8
      Guido Barzini authored
      
      
      Due to a hardware bug in the SFC9000 family, the firmware must
      transfer raw GMAC statistics to host memory before aggregating them
      into the cooked (speed-independent) MAC statistics.  Extend the stats
      buffer to support this.
      
      The length of the buffer is explicit in the MAC_STATS command, so this
      change is backward-compatible on both sides.
      
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8704a2c8
    • Stephen Hemminger's avatar
      tcp_probe: avoid modulus operation and wrap fix · f81074f8
      Stephen Hemminger authored
      
      
      By rounding up the buffer size to power of 2, several expensive
      modulus operations can be avoided.  This patch also solves a bug where
      the gap need when ring gets full was not being accounted for.
      
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f81074f8
    • Breno Leitao's avatar
      qlge: Only free resources if they were allocated · 4f9a91c8
      Breno Leitao authored
      
      
      Currently qlge tries to release regions even if they were not allocated.
      This causes messages like the following in the kernel log
      
      Trying to free nonexistent resource <00000000006af400-00000000006af4ff>
      Trying to free nonexistent resource <00003c04ff9f4000-00003c04ff9f7fff>
      Trying to free nonexistent resource <00003c04ffc00000-00003c04ffcfffff>
      
      This patch fixes the goto logic in order to not release the resources
      if they were not allocated.
      
      Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f9a91c8
    • Denis Turischev's avatar
      [WATCHDOG] sbc_fitpc2_wdt: fix I/O space access technique. · ef39a1bf
      Denis Turischev authored
      
      
      The mdelay function was used between I/O access commands, that causes peak
      in CPU usage. Fix it by substitution mdelay to msleep.
      
      Expand usage on fitPC2 compatible boards according to DMI identification.
      
      Signed-off-by: default avatarDenis Turischev <denis@compulab.co.il>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      ef39a1bf
    • Takashi Iwai's avatar
      Merge branch 'fix/hda' into for-linus · 86f2ce03
      Takashi Iwai authored
      86f2ce03
  4. Jan 25, 2010