1. 01 Sep, 2009 7 commits
    • Dominik Brodowski's avatar
      [CPUFREQ] Re-enable cpufreq suspend and resume code · ce6c3997
      Dominik Brodowski authored
      Commit 4bc5d341 is broken and causes regressions:
      
      (1) cpufreq_driver->resume() and ->suspend() were only called on
      __powerpc__, but you could set them on all architectures. In fact,
      ->resume() was defined and used before the PPC-related commit
      42d4dc3f complained about in 4bc5d341.
      
      (2) Therfore, the resume functions in acpi_cpufreq and speedstep-smi
      would never be called.
      
      (3) This means speedstep-smi would be unusuable after suspend or resume.
      
      The _real_ problem was calling cpufreq_driver->get() with interrupts
      off, but it re-enabling interrupts on some platforms. Why is ->get()
      necessary?
      
      Some systems like to change the CPU frequency behind our
      back, especially during BIOS-intensive operations like suspend or
      resume. If such systems also use a CPU frequency-dependant timing loop,
      delays might be off by large factors. Therefore, we need to ascertain
      as soon as possible that the CPU frequency is indeed at the speed we
      think it is. You can do this two ways: either setting it anew, or trying
      to get it. The latter is what was done, the former also has the same IRQ
      issue.
      
      So, let's try something different: defer the checking to after interrupts
      are re-enabled, by calling cpufreq_update_policy() (via schedule_work()).
      Timings may be off until this later stage, so let's watch out for
      resume regressions caused by the deferred handling of frequency changes
      behind the kernel's back.
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      ce6c3997
    • Ian Kent's avatar
      autofs4 - fix missed case when changing to use struct path · 37d0892c
      Ian Kent authored
      In the recent change by Al Viro that changes verious subsystems
      to use "struct path" one case was missed in the autofs4 module
      which causes mounts to no longer expire.
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37d0892c
    • Linus Torvalds's avatar
      Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · cda9856f
      Linus Torvalds authored
      * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A
        ALSA: hda - Add missing mux check for VT1708
      cda9856f
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · af399890
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
        V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style
        V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors.
        V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true
        V4L/DVB (12457): zr364: wrong indexes
        V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces
        V4L/DVB (12450): Siano: Fixed SDIO compilation bugs
        V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx
        V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices
      af399890
    • Benjamin Herrenschmidt's avatar
      lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h · 1a37f184
      Benjamin Herrenschmidt authored
      My previous patch (commit 4f8ee2c9: "lmb: Remove __init from
      lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it
      was also marked as such in the .h
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1a37f184
    • Bartlomiej Zolnierkiewicz's avatar
      ata_piix: parallel scanning on PATA needs an extra locking · 60c3be38
      Bartlomiej Zolnierkiewicz authored
      Commit log for commit 517d3cc1
      ("[libata] ata_piix: Enable parallel scan") says:
      
          This patch turns on parallel scanning for the ata_piix driver.
          This driver is used on most netbooks (no AHCI for cheap storage it seems).
          The scan is the dominating time factor in the kernel boot for these
          devices; with this flag it gets cut in half for the device I used
          for testing (eeepc).
          Alan took a look at the driver source and concluded that it ought to be safe
          to do for this driver.  Alan has also checked with the hardware team.
      
      and it is all true but once we put all things together additional
      constraints for PATA controllers show up (some hardware registers
      have per-host not per-port atomicity) and we risk misprogramming
      the controller.
      
      I used the following test to check whether the issue is real:
      
        @@ -736,8 +736,20 @@ static void piix_set_piomode(struct ata_
         			(timings[pio][1] << 8);
         	}
         	pci_write_config_word(dev, master_port, master_data);
        -	if (is_slave)
        +	if (is_slave) {
        +		if (ap->port_no == 0) {
        +			u8 tmp = slave_data;
        +
        +			while (slave_data == tmp) {
        +				pci_read_config_byte(dev, slave_port, &tmp);
        +				msleep(50);
        +			}
        +
        +			dev_printk(KERN_ERR, &dev->dev, "PATA parallel scan "
        +				   "race detected\n");
        +		}
         		pci_write_config_byte(dev, slave_port, slave_data);
        +	}
      
         	/* Ensure the UDMA bit is off - it will be turned back on if
         	   UDMA is selected */
      
      and it indeed triggered the error message.
      
      Lets fix all such races by adding an extra locking to ->set_piomode
      and ->set_dmamode methods for PATA controllers.
      
      [ Alan: would be better to take the host lock in libata-core for these
        cases so that we fix all the adapters in one swoop.  "Looks fine as a
        temproary quickfix tho" ]
      
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Acked-by: default avatarAlan Cox <alan@linux.intel.com>
      Cc: Jeff Garzik <jgarzik@redhat.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      60c3be38
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel · b5af7544
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
        drm/i915: Improve CRTDDC mapping by using VBT info
        drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU.
        drm/i915: Set crtc/clone mask in different output devices
        drm/i915: Always use SDVO_B detect bit for SDVO output detection.
        drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder()
        drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx
        drm/i915: Set the multiplier for SDVO on G33 platform
      b5af7544
  2. 31 Aug, 2009 10 commits
  3. 30 Aug, 2009 2 commits
  4. 29 Aug, 2009 6 commits
  5. 28 Aug, 2009 7 commits
  6. 27 Aug, 2009 8 commits