20 May, 2009

1 commit


19 May, 2009

2 commits

  • Currently blkfront gives a warning when hot unplugging due to calling
    del_gendisk() with interrupts disabled (due to blkif_io_lock).

    WARNING: at kernel/softirq.c:124 local_bh_enable+0x36/0x84()
    Modules linked in: xenfs xen_netfront ext3 jbd mbcache xen_blkfront
    Pid: 13, comm: xenwatch Not tainted 2.6.29-xs5.5.0.13 #3
    Call Trace:
    [] warn_slowpath+0x80/0xb6
    [] xen_sched_clock+0x16/0x63
    [] xen_force_evtchn_callback+0xc/0x10
    [] check_events+0x8/0xe
    [] xen_restore_fl_direct_end+0x0/0x1
    [] xen_mc_flush+0x10a/0x13f
    [] __switch_to+0x114/0x14e
    [] dequeue_task+0x62/0x70
    [] finish_task_switch+0x2b/0x84
    [] schedule+0x66d/0x6e7
    [] xen_force_evtchn_callback+0xc/0x10
    [] xen_force_evtchn_callback+0xc/0x10
    [] local_bh_enable+0x36/0x84
    [] sk_filter+0x57/0x5c
    [] netlink_broadcast+0x1d5/0x315
    [] kobject_uevent_env+0x28d/0x331
    [] device_del+0x10f/0x120
    [] device_unregister+0x8/0x10
    [] bdi_unregister+0x2d/0x39
    [] unlink_gendisk+0x23/0x3e
    [] del_gendisk+0x7b/0xe7
    [] blkfront_closing+0x28/0x6e [xen_blkfront]
    [] backend_changed+0x3ad/0x41d [xen_blkfront]

    We can fix this by calling del_gendisk() later in blkfront_closing, after
    releasing blkif_io_lock. Since the queue is stopped during the interrupts
    disabled phase I don't think there is any danger of an event occuring between
    releasing the blkif_io_lock and deleting the disk.

    Signed-off-by: Ian Campbell
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Jens Axboe

    Ian Campbell
     
  • This situation can occur when attempting to attach a block device whose
    backend is an empty physical CD-ROM driver. The backend in this case
    will go directly from the Initialising state to Closing->Closed.
    Previously this would result in a NULL pointer deref on info->gd
    (xenbus_dev_fatal does not return as a1a15ac5 seems to expect)

    Cc: stable@kernel.org
    Signed-off-by: Ian Campbell
    Acked-by: Jeremy Fitzhardinge
    Signed-off-by: Jens Axboe

    Ian Campbell
     

18 May, 2009

7 commits


17 May, 2009

6 commits

  • Ian Campbell noticed that since "Eliminate thousands of warnings with
    gcc 3.2 build" (commit 57adc4d2dbf968fdbe516359688094eef4d46581) all
    WARN_ON()'s currently appear to come from warn_slowpath_null(), eg:

    WARNING: at kernel/softirq.c:143 warn_slowpath_null+0x1c/0x20()

    because now that warn_slowpath_null() is in the call path, the
    __builtin_return_address(0) returns that, rather than the place that
    caused the warning.

    Fix this by splitting up the warn_slowpath_null/fmt cases differently,
    using a common helper function, and getting the return address in the
    right place. This also happens to avoid the unnecessary stack usage for
    the non-stdargs case, and just generally cleans things up.

    Make the function name printout use %pS while at it.

    Cc: Ian Campbell
    Cc: Jesper Nilsson
    Cc: Johannes Weiner
    Cc: Arjan van de Ven
    Cc: Andi Kleen
    Cc: Hugh Dickins
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
    piix: The Sony TZ90 needs the cable type hardcoding
    icside: register second channel of version 6 PCB
    ide-tape: remove back-to-back REQUEST_SENSE detection

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: Idle C-states disabled by max_cstate should not disable the TSC
    ACPI: idle: fix init-time TSC check regression
    ACPI processor: reset the throttling state once it's invalid
    ACPI processor: introduce module parameter processor.ignore_tpc
    ACPI, i915: build fix
    ACPI: suspend: restore BM_RLD on resume
    ACPI: resume: re-enable SCI-enable workaround
    thermal: fix off-by-1 error in trip point trigger condition
    eeepc-laptop: unregister_rfkill_notifier on failure
    asus-laptop: fix input keycode
    eeepc-laptop: support for super hybrid engine (SHE)
    eeepc-laptop: Work around rfkill firmware bug
    eeepc-laptop: report brightness control events via the input layer
    eeepc-laptop: fix wlan rfkill state change during init
    ACPI: suspend: don't let device _PS3 failure prevent suspend
    ACPI: power: update error message
    ACPI: video: DMI workaround another broken Acer BIOS enabling display brightness
    ACPICA: use acpi.* modparam namespace
    ACPI video: dmi check for broken _BQC on Acer Aspire 5720

    Linus Torvalds
     
  • The Sony TZ90 needs the cable type hardcoding. See bug #12734

    Signed-off-by: Alan Cox
    Reported-by: Jonathan E. Snow
    [bart: port it from ata_piix to piix and give reporter the proper credit]
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Alan Cox
     
  • The second IDE channel of version 6 PCB is not being registered anymore since
    the commit 48c3c1072651922ed153bcf0a33ea82cf20df390 (ide: add struct ide_host
    (take 3)).

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Sergei Shtylyov
     
  • Impact: fix an oops which always triggers

    ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when
    checking for back-to-back request sense issues but drive->pc can be
    NULL and even when it's not NULL, it's not safe to dereference it once
    the previous command is complete because pc could have been freed or
    was on stack. Kill back-to-back REQUEST_SENSE detection.

    Signed-off-by: Tejun Heo
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Tejun Heo
     

16 May, 2009

21 commits

  • … 'bugzilla-13165', 'bugzilla-13243', 'bugzilla-13259', 'resume-sci-en-regression', 'thermal-regression', 'tsc-regression' and 'asus-2.6.30' into release

    Len Brown
     
  • Processor idle power states C2 and C3 stop the TSC on many machines.
    Linux recognizes this situation and marks the TSC as unstable:

    Marking TSC unstable due to TSC halts in idle

    But if those same machines are booted with "processor.max_cstate=1",
    then there is no need to validate C2 and C3, and no need to
    disable the TSC, which can be reliably used as a clocksource.

    Signed-off-by: Len Brown
    Acked-by: Thomas Gleixner

    Len Brown
     
  • A previous 2.6.30 patch, a71e4917dc0ebbcb5a0ecb7ca3486643c1c9a6e2,
    (ACPI: idle: mark_tsc_unstable() at init-time, not run-time)
    erroneously disabled the TSC on systems that did not actually
    have valid deep C-states.

    Move the check after the deep-C-states are validated,
    via new helper, tsc_check_state(), hich replaces tsc_halts_in_c().

    Signed-off-by: Len Brown
    Acked-by: Venkatesh Pallipadi
    Acked-by: Thomas Gleixner
    Tested-by: Frans Pop

    Len Brown
     
  • Linus Torvalds
     
  • If the BIOS hands us an invalid throttling state,
    write a valid state.

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

    Signed-off-by: Zhang Rui
    Tested-by: James Ettle
    Signed-off-by: Len Brown

    Zhang Rui
     
  • Introduce module parameter processor.ignore_tpc.

    Some laptops are shipped with buggy _TPC,
    this module parameter is used to to disable the buggy support.

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

    Signed-off-by: Zhang Rui
    Tested-by: James Ettle
    Signed-off-by: Len Brown

    Zhang Rui
     
  • drivers/built-in.o: In function `intel_opregion_init':
    (.text+0x9d540): undefined reference to `acpi_video_register'

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

    Signed-off-by: Len Brown

    Len Brown
     
  • In 2.6.29,
    31878dd86b7df9a147f5e6cc6e07092b4308782b
    "ACPI: remove BM_RLD access from idle entry path"
    moved BM_RLD initialization to init-time from run time.

    But we discovered that some BIOS do not restore BM_RLD
    after suspend, causing device errors on C3 and C4
    after resume. So now the kernel restores BM_RLD.

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

    Signed-off-by: Len Brown

    Len Brown
     
  • The BIOS bug workaround mistakenly got disabled
    when we followed the ACPI specification more closely
    by ignoring OS updates to that bit.

    (The BIOS is supposed to update SCI_EN, not the OS)

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

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI MSI: Fix MSI-X with NIU cards
    PCI: Fix pci-e port driver slot_reset bad default return value

    Linus Torvalds
     
  • Check the return value of sysdev_suspend(). I think this was a typo.
    Without this change, the following "if" check is always false.
    I also changed the error message so it's distinguishable from the
    similar message a few lines above.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Bjorn Helgaas
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6:
    Bluetooth: Don't trigger disconnect timeout for security mode 3 pairing
    Bluetooth: Don't use hci_acl_connect_cancel() for incoming connections
    Bluetooth: Fix wrong module refcount when connection setup fails

    Another case of me handling the fallout from Davem's unfortunate
    addiction to shuffleboard.

    Won't anybody think of the children? Join the anti-shuffleboard league
    today!

    Linus Torvalds
     
  • * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
    drm/i915: Add new GET_PIPE_FROM_CRTC_ID ioctl.
    drm/i915: Set HDMI hot plug interrupt enable for only the output in question.
    drm/i915: Include 965GME pci ID in IS_I965GM(dev) to match UMS.
    drm/i915: Use the GM45 VGA hotplug workaround on G45 as well.
    drm/i915: ignore LVDS on intel graphics systems that lie about having it
    drm/i915: sanity check IER at wait_request time
    drm/i915: workaround IGD i2c bus issue in kernel side (v2)
    drm/i915: Don't allow binding objects into the last page of the aperture.
    drm/i915: save/restore fence registers across suspend/resume
    drm/i915: x86 always has writeq. Add I915_READ64 for symmetry.

    Linus Torvalds
     
  • * 'upstream-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: Media rotation rate and form factor heuristics
    libata: Report disk alignment and physical block size
    sata_fsl: Fix the command description of FSL SATA controller
    sata_fsl: Fix compile warnings
    [libata] sata_sx4: fixup interrupt handling
    [libata] sata_sx4: convert to new exception handling methods

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:
    iwlwifi: fix device id registration for 6000 series 2x2 devices
    ath5k: update channel in sw state after stopping RX and TX
    rtl8187: use DMA-aware buffers with usb_control_msg
    mac80211: avoid NULL ptr deref when finding max_rates in PID and minstrel
    airo: airo_get_encode{,ext} potential buffer overflow

    Pulled directly by Linus because Davem is off playing shuffle-board at
    some Alaskan cruise, and the NULL ptr deref issue hits people and should
    get merged sooner rather than later.

    David - make us proud on the shuffle-board tournament!

    Linus Torvalds
     
  • This patch provides new heuristics for parsing both the form factor and
    media rotation rate ATA IDENFITY words.

    The reported ATA version must be 7 or greater and the device must return
    values defined as valid in the standard. Only then are the
    characteristics reported to SCSI via the VPD B1 page.

    This seems like a reasonable compromise to me considering that we have
    been shipping several kernel releases that key off the rotation rate bit
    without any version checking whatsoever. With no complaints so far.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jeff Garzik

    Martin K. Petersen
     
  • For disks with 4KB sectors, report the correct block size and alignment
    when filling out the READ CAPACITY(16) response.

    This patch is based upon code from Matthew Wilcox' 4KB ATA tree. I
    fixed the bug I reported a while back caused by ATA and SCSI using
    different approaches to describing the alignment.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jeff Garzik

    Martin K. Petersen
     
  • The bit 11 of command description is reserved bit in Freescale
    SATA controller and needs to be set to '1'. This is needed to
    make sure the last write from the controller to the buffer
    descriptor is seen before an interrupt is raised.

    Signed-off-by: Dave Liu
    Signed-off-by: Kumar Gala
    Signed-off-by: Jeff Garzik

    Dave Liu
     
  • We we build with dma_addr_t as a 64-bit quantity we get:

    drivers/ata/sata_fsl.c: In function 'sata_fsl_fill_sg':
    drivers/ata/sata_fsl.c:340: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'dma_addr_t'

    Signed-off-by: Kumar Gala
    Signed-off-by: Jeff Garzik

    Kumar Gala
     
  • Issuing ATA_CMD_SET_FEATURES (0xef) times out because
    pdc20621_interrupt ignores command completion since
    ATA_TFLAG_POLLING flag is set.

    This has already been fixed for sata_promise:

    commit 51b94d2a5a90d4800e74d7348bcde098a28f4fb3
    Author: Tejun Heo
    Date: Fri Jun 8 13:46:55 2007 -0700

    sata_promise: use TF interface for polling NODATA commands

    Also, this patch includes Mikael's original patches:

    http://marc.info/?l=linux-ide&m=121135828227724&w=2
    http://marc.info/?l=linux-ide&m=121144512109826&w=2

    Signed-off-by: Mikael Pettersson
    Signed-off-by: David Milburn
    Signed-off-by: Jeff Garzik

    David Milburn
     
  • Signed-off-by: Jeff Garzik

    Jeff Garzik
     

15 May, 2009

3 commits