23 Aug, 2009

3 commits

  • Problem reported: http://marc.info/?l=dm-devel&m=124585978305866&w=2

    scsi_dh does not do a refernce count for attach/detach, and this affects
    the way it is supposed to work with multipath when a device is not
    in the dev_list of the hardware handler.

    This patch adds a reference count that counts each attach.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: James Bottomley
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • It has been 3 years since this file was sync-ed with
    www.t10.org . Information taken from the last bunch
    of drafts released in May 2009. More asc/ascq codes
    are coming for thin provisioning; when approved and
    allocated another patch could add them prior to this
    patch going live.

    Changelog:
    - add some new command names and rename two commands
    - sync asc/ascq table with www.t10.org/lists/asc-num.txt
    - correct bug in scsi_extd_sense_format() [second
    for loop]

    Signed-off-by: Douglas Gilbert
    Signed-off-by: James Bottomley
    Signed-off-by: James Bottomley

    Douglas Gilbert
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: check saved state before restore

    Linus Torvalds
     

22 Aug, 2009

8 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] mpt2sas: fix config request and diag reset deadlock
    [SCSI] mpt2sas: Bump driver version 01.100.04.00
    [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate
    [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode
    [SCSI] mpt2sas: fix infinite loop inside config request
    [SCSI] mpt2sas: Excessive log info causes sas iounit page time out
    [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages
    [SCSI] mpt2sas: Expander fix oops saying "Already part of another port"
    [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash

    Linus Torvalds
     
  • Linus Torvalds
     
  • In commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 ("Fix race in
    create_empty_buffers() vs __set_page_dirty_buffers()"), I removed a test
    for a NULL page mapping unintentionally when some of the code inside
    __set_page_dirty() was moved to the callers.

    That removal generally didn't matter, since a filesystem would serialize
    truncation (which clears the page mapping) against writing (which marks
    the buffer dirty), so locking at a higher level (either per-page or an
    inode at a time) should mean that the buffer page would be stable. And
    indeed, nothing bad seemed to happen.

    Except it turns out that apparently reiserfs does something odd when
    under load and writing out the journal, and we have a number of bugzilla
    entries that look similar:

    http://bugzilla.kernel.org/show_bug.cgi?id=13556
    http://bugzilla.kernel.org/show_bug.cgi?id=13756
    http://bugzilla.kernel.org/show_bug.cgi?id=13876

    and it looks like reiserfs depended on that check (the common theme
    seems to be "data=journal", and a journal writeback during a truncate).

    I suspect reiserfs should have some additional locking, but in the
    meantime this should get us back to the pre-2.6.29 behavior.

    Pattern-pointed-out-by: Roland Kletzing
    Cc: stable@kernel.org (2.6.29 and 2.6.30)
    Cc: Jeff Mahoney
    Cc: Nick Piggin
    Cc: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon: add GET_PARAM/INFO support for Z pipes
    drm/radeon/kms: add r100/r200 OQ support.
    drm: Fix sysfs device confusion.
    drm/radeon/kms: implement the bo busy ioctl properly.

    Linus Torvalds
     
  • * 'btrfs' of git://git.kernel.dk/linux-2.6-block:
    btrfs: fix inode rbtree corruption

    Linus Torvalds
     
  • As noted in 83d349f35e1ae72268c5104dbf9ab2ae635425d4 ("x86: don't send
    an IPI to the empty set of CPU's"), some APIC's will be very unhappy
    with an empty destination mask. That commit added a WARN_ON() for that
    case, and avoided the resulting problem, but didn't fix the underlying
    reason for why those empty mask cases happened.

    This fixes that, by checking the result of 'cpumask_andnot()' of the
    current CPU actually has any other CPU's left in the set of CPU's to be
    sent a TLB flush, and not calling down to the IPI code if the mask is
    empty.

    The reason this started happening at all is that we started passing just
    the CPU mask pointers around in commit 4595f9620 ("x86: change
    flush_tlb_others to take a const struct cpumask"), and when we did that,
    the cpumask was no longer thread-local.

    Before that commit, flush_tlb_mm() used to create it's own copy of
    'mm->cpu_vm_mask' and pass that copy down to the low-level flush
    routines after having tested that it was not empty. But after changing
    it to just pass down the CPU mask pointer, the lower level TLB flush
    routines would now get a pointer to that 'mm->cpu_vm_mask', and that
    could still change - and become empty - after the test due to other
    CPU's having flushed their own TLB's.

    See

    http://bugzilla.kernel.org/show_bug.cgi?id=13933

    for details.

    Tested-by: Thomas Björnell
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • When 'and'ing two bitmasks (where 'andnot' is a variation on it), some
    cases want to know whether the result is the empty set or not. In
    particular, the TLB IPI sending code wants to do cpumask operations and
    determine if there are any CPU's left in the final set.

    So this just makes the bitmask (and cpumask) functions return a boolean
    for whether the result has any bits set.

    Cc: stable@kernel.org (2.6.30, needed by TLB shootdown fix)
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • The default_send_IPI_mask_logical() function uses the "flat" APIC mode
    to send an IPI to a set of CPU's at once, but if that set happens to be
    empty, some older local APIC's will apparently be rather unhappy. So
    just warn if a caller gives us an empty mask, and ignore it.

    This fixes a regression in 2.6.30.x, due to commit 4595f9620 ("x86:
    change flush_tlb_others to take a const struct cpumask"), documented
    here:

    http://bugzilla.kernel.org/show_bug.cgi?id=13933

    which causes a silent lock-up. It only seems to happen on PPro, P2, P3
    and Athlon XP cores. Most developers sadly (or not so sadly, if you're
    a developer..) have more modern CPU's. Also, on x86-64 we don't use the
    flat APIC mode, so it would never trigger there even if the APIC didn't
    like sending an empty IPI mask.

    Reported-by: Pavel Vilim
    Reported-and-tested-by: Thomas Björnell
    Reported-and-tested-by: Martin Rogge
    Cc: Mike Travis
    Cc: Ingo Molnar
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

21 Aug, 2009

12 commits

  • Needed for occlusion queries on rv530 chips.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Node may not be inserted over existing node. This causes inode tree
    corruption and I was seeing crashes in inode_tree_del which I can not
    reproduce after this patch.

    The other way to fix this would be to tie inode lifetime in the rbtree
    with inode while not in freeing state. I had a look at this but it is
    not so trivial at this point. At least this patch gets things working again.

    Signed-off-by: Nick Piggin
    Cc: Chris Mason
    Acked-by: Yan Zheng
    Signed-off-by: Jens Axboe

    From: Nick Piggin
     
  • This adds the relocation necessary for OQ support on the r100/r200
    chipsets.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • The drm sysfs class suspend / resume methods could not distinguish
    between different device types wich could lead to illegal type casts.

    Use struct device_type and make sure the class suspend / resume callbacks
    are aware of those. There is no per device-type suspend / resume. Only
    new-style PM.

    Signed-off-by: Thomas Hellstrom
    Reviewed-by: Jesse Barnes
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • The previous patch assumes the ioctl already existed, when
    it actually didn't.

    It also didn't return the correct error code.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • * 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux:
    i2c-stu300: I2C STU300 stability updates
    i2c-omap: Enable workaround for Errata 1.153 based on
    i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts
    i2c-omap: Fix I2C status ACK

    Linus Torvalds
     
  • - blk clk is enabled when an irq arrives. The clk should be enabled,
    but just to make sure.
    - All error bits are handled no matter state machine state
    - All irq's will run complete() except for irq's that wasn't an event.
    - No more looking into status registers just in case an interrupt
    has happend and the irq handle wasn't executed.
    - irq_disable/enable are now separete functions.
    - clk settings calculation changed to round upwards instead of
    downwards.
    - Number of address send attempts before giving up is increased to 12
    from 10 since it most times take 8 tries before getting through.

    Signed-off-by: Linus Walleij
    Signed-off-by: Ben Dooks

    Linus Walleij
     
  • Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
    version of I2C IP block.

    The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
    on I2C IP block revision number instead of OMAP CPU type

    Signed-off-by: Moiz Sonasath
    Signed-off-by: Vikram Pandita
    Signed-off-by: Ben Dooks

    Moiz Sonasath
     
  • ACK any pending read/write interrupts before exiting the ISR either after
    completing the operation [ARDY interrupt] or in case of an error
    [NACK|AL interrupt]

    Signed-off-by: Moiz Sonasath
    Signed-off-by: Vikram Pandita
    Signed-off-by: Ben Dooks

    Moiz Sonasath
     
  • I2C status ack for [RX]RDR and [RX]RDY could
    cause race conditions of clearing the event
    twice and a violation of the programing
    sequence as defined in TRM This patch fixes
    the same.

    Signed-off-by: Nishanth Menon
    Signed-off-by: Moiz Sonasath
    Signed-off-by: Ben Dooks

    Nishanth Menon
     
  • * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec
    ALSA: hda: add model for Intel DG45ID/DG45FC boards
    ALSA: hda: enable speaker output for Compaq 6530s/6531s

    Linus Torvalds
     
  • Without the check, the config space may be filled with zeros. Though
    the driver should try to avoid call restoring before saving, but the
    pci layer also should check this.

    Also removes the existing check in pci_restore_standard_config, since
    it's superfluous with the new check in restore_state.

    Acked-by: Rafael J. Wysocki
    Signed-off-by: Alek Du
    Signed-off-by: Jesse Barnes

    Alek Du
     

20 Aug, 2009

6 commits

  • There are many variants of Toshiba laptops with ALC268 codec, and
    it seems that a few of them don't work with model=toshiba preset
    since they have the secondary ALC268 codec just for HDMI output.
    This is a regression due to the previous clean-up work to merge all
    Toshiba quirk entries into a single check.

    This patch adds the identification of such laptops to apply the
    standard BIOS-probing method. Unfortunately, Toshiba laptops have
    all the same PCI SSID, so we need to check the codec SSID to identify
    each device.

    Tested-by: Alexey Dobriyan
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
    nilfs2: fix oopses with doubly mounted snapshots
    nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()

    Linus Torvalds
     
  • Fix some issues with the AFS documentation, found when testing AFS on ppc64:

    - Update AFS features: reading/writing, local caching
    - Typo in kafs sysfs debug file
    - Use modprobe instead of insmod in example
    - Update IPs for grand.central.org

    Signed-off-by: Anton Blanchard
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/kms: teardown crtc correctly when fb is destroyed.
    drm/kms/radeon: cleanup combios TV table like DDX.
    drm/radeon/kms: memset the allocated framebuffer before using it.
    drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it.
    drm/radeon/kms: implement bo busy check + current domain
    drm/radeon/kms: cut down indirects in register accesses.
    drm/radeon/kms: Fix up vertical blank interrupt support.
    drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR
    drm/edid: fixup detailed timings like the X server.
    drm/radeon/kms: Add specific rs690 authorized register table

    Linus Torvalds
     
  • * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Update Microblaze defconfigs
    microblaze: Use klimit instead of _end for memory init
    microblaze: Enable ppoll syscall
    microblaze: Sane handling of missing timer/intc in device tree
    microblaze: use the generic ack_bad_irq implementation

    Linus Torvalds
     
  • …nux/kernel/git/tip/linux-2.6-tip

    * 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Make 'make html' work
    perf annotate: Fix segmentation fault
    perf_counter: Fix the PARISC build
    perf_counter: Check task on counter read IPI
    perf: Rename perf-examples.txt to examples.txt
    perf record: Fix typo in pid_synthesize_comm_event

    Linus Torvalds
     

19 Aug, 2009

11 commits