14 Oct, 2009

12 commits

  • On pSeries, we always force the IO space to be mapped using 4K
    pages even with a 64K base page size to cope with some limitations
    in the HV interface to some devices.

    However, the SLB miss handler code to discriminate between vmalloc
    and ioremap space uses a CPU feature section such that the code
    is nop'ed out when the processor support large pages non-cachable
    mappings.

    Thus, we end up always using the ioremap page size for vmalloc
    segments on such processors, causing a discrepency between the
    segment and the hash table, and thus a hang continously hashing
    the page.

    It works for the first segment of the vmalloc space since that
    segment is "bolted" in by C code correctly, and thankfully we
    almost never use the vmalloc space beyond the first segment,
    but the new percpu code made the bug happen.

    This fixes it by removing the feature section from the assembly,
    we now always do the comparison between vmalloc and ioremap.

    Signed-off-by; Benjamin Herrenschmidt

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • cppcheck found a memory leak in axon_msi, if dcr_base or dcr_len are zero,
    we have already allocated msic, so we should free it in the error path.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Michael Ellerman
    Acked-by: Arnd Bergmann
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     
  • Since the change of how interrupts are disabled during suspend,
    certain PowerBook models started exhibiting various issues during
    suspend or resume from sleep.

    I finally tracked it down to the code that runs various "platform"
    functions (kind of little scripts extracted from the device-tree),
    which uses our i2c and PMU drivers expecting interrutps to work,
    and at a time where with the new scheme, they have been disabled.

    This causes timeouts internally which for some reason results in
    the PMU being unable to see the trackpad, among other issues, really
    it depends on the machine. Most of the time, we fail to properly adjust
    some clocks for suspend/resume so the results are not always
    predictable.

    This patch fixes it by using IRQF_TIMER for both the PMU and the I2C
    interrupts. I prefer doing it this way than moving the call sites since
    I really want those platform functions to still be called after all
    drivers (and before sysdevs).

    We also do a slight cleanup to via-pmu.c driver to make sure the
    ADB autopoll mask is handled correctly when doing bus resets

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    cciss: Add cciss_allow_hpsa module parameter
    cciss: Fix multiple calls to pci_release_regions
    blk-settings: fix function parameter kernel-doc notation
    writeback: kill space in debugfs item name
    writeback: account IO throttling wait as iowait
    elv_iosched_store(): fix strstrip() misuse
    cfq-iosched: avoid probable slice overrun when idling
    cfq-iosched: apply bool value where we return 0/1
    cfq-iosched: fix think time allowed for seekers
    cfq-iosched: fix the slice residual sign
    cfq-iosched: abstract out the 'may this cfqq dispatch' logic
    block: use proper BLK_RW_ASYNC in blk_queue_start_tag()
    block: Seperate read and write statistics of in_flight requests v2
    block: get rid of kblock_schedule_delayed_work()
    cfq-iosched: fix possible problem with jiffies wraparound
    cfq-iosched: fix issue with rq-rq merging and fifo list ordering

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: fix compile warnings

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    kbuild: revert "save ARCH & CROSS_COMPILE ..."
    warn about use of uninstalled kernel headers
    kbuild: mkcompile_h: trivial cleanups
    kbuild: fix warning when domainname is not available
    kbuild: Fix size_append issue for bzip2/lzma kernel
    kbuild,scripts: use non-builtin echo for '-e'
    kbuild: fix the binrpm-pkg target to work with KBUILD_OUTPUT set

    Linus Torvalds
     
  • Commit d43c36dc6b357fa1806800f18aa30123c747a6d1 ("headers: remove
    sched.h from interrupt.h") left some build errors in some configurations
    due to drivers having depended on getting header files "accidentally".

    Signed-off-by: Ingo Molnar
    [ Combined several one-liners from Ingo into one single patch - Linus ]
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: fix possible deadlock in hidraw_read
    HID: fix kerneldoc comment for hid_input_report()
    HID: add __init/__exit macros to twinhan.c

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Allow all formats as default for Nvidia HDMI
    ALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout
    ALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228
    ALSA: hda - Fix mute sound with STAC9227/9228 codecs
    ALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012)
    ALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.c
    ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@
    ALSA: ice1724: Fix surround on Chaintech AV-710
    ALSA: hda - Add full rates/formats support for Nvidia HDMI

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
    ext3: Update documentation about ext3 quota mount options
    ext3: Don't update superblock write time when filesystem is read-only

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: Fix twl4030 boot with twl4030 usb transceiver enabled

    Linus Torvalds
     
  • * git://git.infradead.org/~dwmw2/iommu-2.6.32:
    x86: Move pci_iommu_init to rootfs_initcall()
    Run pci_apply_final_quirks() sooner.
    Mark pci_apply_final_quirks() __init rather than __devinit
    Rename pci_init() to pci_apply_final_quirks(), move it to quirks.c
    intel-iommu: Yet another BIOS workaround: Isoch DMAR unit with no TLB space
    intel-iommu: Decode (and ignore) RHSA entries
    intel-iommu: Make "Unknown DMAR structure" message more informative

    Linus Torvalds
     

13 Oct, 2009

17 commits

  • Takashi Iwai
     
  • In the commit f0613d5752d8f7d1d02e6d40947f38877fdf9c90
    ALSA: hda - Add full rates/formats support for Nvidia HDMI
    the flag LIMITIED_RATE_FMT_SUPPORT was set as default, as I forgot
    to clear before commit.

    Let's enable all formats/rates as default.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • After a reboot on an ARM1176 which amounts to a softreset, it has been
    noted that the ALSA driver does not get registered and the probe fails
    with the error "aaci-pl041 fpga:04: ac97 read back fail". In the process
    of reading from a register the SL1TxBusy bit is set indicating that the
    transceiver is busy and remains so until the default timeout occurs.
    Set the Power down register 0x26 to an arbitrary value as specified in
    the PL041 manual (page: 3-18) so that AACISL1TX/AACISL2TX registers take
    their default state.

    Signed-off-by: Philby John
    Signed-off-by: Takashi Iwai

    Philby John
     
  • The volume-knob widget needs to be set with 0x7f instead of 0xff
    for Dell laptops with STAC9228 codec, too, like the previous commit.

    Reference: Novell bnc#545013
    http://bugzilla.novell.com/show_bug.cgi?id=545013

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • On FSC laptops, the sound gets muted gradually when the volume is chnaged.
    This is due to the wrong volume-knob widget setup. The delta bit (bit 7)
    shouldn't be set for these devices.

    This patch adds a new quirk to set the value 0x7f to the widget 0x24
    instead of 0xff.

    Reference: Novell bnc#546006
    http://bugzilla.novell.com/show_bug.cgi?id=546006

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Add cciss_allow_hpsa module parameter. This parameter causes
    the cciss driver to ignore any Smart Array devices known to be
    supported by the hpsa driver.

    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Jens Axboe

    Stephen M. Cameron
     
  • Fix multiple calls to pci_release_regions. If cciss_pci_init
    fails, it already does any necessary call to pci_release_regions,
    so this does not need to be done again in cciss_init_one in that
    case.

    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Jens Axboe

    Stephen M. Cameron
     
  • ALC861-VD lenovo model causes overflow of spec->init_verbs entries due to
    the recent changes. Simply increase the array size to avoid the overflow.

    Reported-by: Luca Tettamanti
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Signed-off-by: Jan Kara

    Jan Kara
     
  • This avoids updating the superblock write time when we are mounting
    the root file system read/only but we need to replay the journal; at
    that point, for people who are east of GMT and who make their clock
    tick in localtime for Windows bug-for-bug compatibility, and this will
    cause e2fsck to complain and force a full file system check.

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Jan Kara

    Theodore Ts'o
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: Prevent AER driver from being loaded on non-root port PCIE devices
    PCI: get larger bridge ranges when space is available
    PCI: pci.c: fix kernel-doc notation
    PCI quirk: TI XIO200a erroneously reports support for fast b2b transfers
    PCI PM: Read device power state from register after updating it
    PCI: remove pci_assign_resource_fixed()
    PCI: PCIe portdrv: remove "-driver" from driver name

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (24 commits)
    ARM: force dcache flush if dcache_dirty bit set
    [ARM] pxa: workaround errata #37 by not using half turbo switching
    [ARM] pxamci: fix printing gpio numbers in pxamci_probe
    [ARM] pxa/csb726: adjust duplicate structure field initialization
    ARM: Add kmap_atomic type debugging
    ARM: boolean bit testing
    ARM: update die() output
    ARM: Dump code/mem oops lines with the appropriate log level
    ARM: Dump memory and backtrace as one printk per line
    ARM: 5756/1: ep93xx: introduce clk parent
    ARM: 5754/1: ep93xx: update i2c support
    ARM: 5753/1: ep93xx: remove old EP93XX_GPIO_* defines
    ARM: 5729/1: ep93xx: define EP93XX_*_PHYS_BASE with macros
    ARM: 5751/1: ep93xx/micro9: Add Micro9-Slim
    ARM: 5750/1: ep93xx/micro9: Update platform code
    ARM: 5749/1: ep93xx/micro9: Update maintainer
    ARM: 5752/1: SA1100: fix building of h3100
    ARM: 5748/1: bcmring: fix build warning messages
    ARM: 5747/1: Fix the start_pg value in free_memmap()
    ARM: 5746/1: Handle possible translation errors in ARMv6/v7 coherent_user_range
    ...

    Linus Torvalds
     
  • The MUSB code relies on platform implementations that currently only
    exists for Arm and Blackfin processors, so have the MUSB Kconfig depend
    upon those arches.

    This should prevent other arches from building MUSB via randconfig.

    Reported-by: Ingo Molnar
    Signed-off-by: Mike Frysinger
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • struct sockaddr_storage * can safely be used as struct sockaddr *.
    Suppress an "incompatible pointer type" warning.

    Signed-off-by: Stefan Richter
    Signed-off-by: Trond Myklebust
    Signed-off-by: Linus Torvalds

    Stefan Richter
     
  • Commit 46d57a449aa1 ("serial: use tty_port pointers in the core code")
    contained two bugs that causes (rare) crashes:

    - the rename typoed one site

    - a NULL check was missed

    Reported-and-tested-by: Ingo Molnar
    Cc: Greg KH
    Cc: Alan Cox
    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • On ARM, update_mmu_cache() does dcache flush for a page only if
    it has a kernel mapping (page_mapping(page) != NULL). The correct
    behavior would be to force the flush based on dcache_dirty bit only.

    One of the cases where present logic would be a problem is when
    a RAM based block device[1] is used as a swap disk. In this case,
    we would have in-memory data corruption as shown in steps below:

    do_swap_page()
    {
    - Allocate a new page (if not already in swap cache)
    - Issue read from swap disk
    - Block driver issues flush_dcache_page()
    - flush_dcache_page() simply sets PG_dcache_dirty bit and does not
    actually issue a flush since this page has no user space mapping yet.
    - Now, if swap disk is almost full, this newly read page is removed
    from swap cache and corrsponding swap slot is freed.
    - Map this page anonymously in user space.
    - update_mmu_cache()
    - Since this page does not have kernel mapping (its not in page/swap
    cache and is mapped anonymously), it does not issue dcache flush
    even if dcache_dirty bit is set by flush_dcache_page() above.


    }

    Same problem exists on mips too.

    [1] example:
    - brd (RAM based block device)
    - ramzswap (RAM based compressed swap device)

    Signed-off-by: Nitin Gupta
    Signed-off-by: Russell King

    Nitin Gupta
     

12 Oct, 2009

11 commits