Permalink
Switch branches/tags
Commits on Jul 29, 2010
  1. Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jul 29, 2010
    …/git/jwessel/linux-2.6-kgdb
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
      x86,kgdb: Fix hw breakpoint regression
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixe…

    torvalds committed Jul 29, 2010
    …s-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
      [SCSI] ibmvscsi: Fix oops when an interrupt is pending during probe
      [SCSI] zfcp: Update status read mempool
      [SCSI] zfcp: Do not wait for SBALs on stopped queue
      [SCSI] zfcp: Fix check whether unchained ct_els is possible
      [SCSI] ipr: fix resource path display and formatting
  3. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jul 29, 2010
    …/git/lrg/voltage-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
      davinci: da850/omap-l138 evm: account for DEFDCDC{2,3} being tied high
      regulator: tps6507x: allow driver to use DEFDCDC{2,3}_HIGH register
      wm8350-regulator: fix wm8350_register_regulator error handling
      ab3100: fix off-by-one value range checking for voltage selector
  4. ecryptfs: Bugfix for error related to ecryptfs_hash_buckets

    Andre Osterhues authored and torvalds committed Jul 13, 2010
    The function ecryptfs_uid_hash wrongly assumes that the
    second parameter to hash_long() is the number of hash
    buckets instead of the number of hash bits.
    This patch fixes that and renames the variable
    ecryptfs_hash_buckets to ecryptfs_hash_bits to make it
    clearer.
    
    Fixes: CVE-2010-2492
    
    Signed-off-by: Andre Osterhues <aosterhues@escrypt.com>
    Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. x86,kgdb: Fix hw breakpoint regression

    jwessel committed Jul 29, 2010
    HW breakpoints events stopped working correctly with kgdb
    as a result of commit: 018cbff
    (Merge commit 'v2.6.33' into perf/core).
    
    The regression occurred because the behavior changed for setting
    NOTIFY_STOP as the return value to the die notifier if the breakpoint
    was known to the HW breakpoint API.  Because kgdb is using the HW
    breakpoint API to register HW breakpoints slots, it must also now
    implement the overflow_handler call back else kgdb does not get to see
    the events from the die notifier.
    
    The kgdb_ll_trap function will be changed to be general purpose code
    which can allow an easy way to implement the hw_breakpoint API
    overflow call back.
    
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Acked-by: Dongdong Deng <dongdong.deng@windriver.com>
    Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Commits on Jul 28, 2010
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jul 28, 2010
    …/git/sage/ceph-client
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
      ceph: use complete_all and wake_up_all
      ceph: Correct obvious typo of Kconfig variable "CRYPTO_AES"
      ceph: fix dentry lease release
      ceph: fix leak of dentry in ceph_init_dentry() error path
      ceph: fix pg_mapping leak on pg_temp updates
      ceph: fix d_release dop for snapdir, snapped dentries
      ceph: avoid dcache readdir for snapdir
  2. GFS2: Use kmalloc when possible for ->readdir()

    swhiteho authored and torvalds committed Jul 28, 2010
    If we don't need a huge amount of memory in ->readdir() then
    we can use kmalloc rather than vmalloc to allocate it. This
    should cut down on the greater overheads associated with
    vmalloc for smaller directories.
    
    We may be able to eliminate vmalloc entirely at some stage,
    but this is easy to do right away.
    
    Also using GFP_NOFS to avoid any issues wrt to deleting inodes
    while under a glock, and suggestion from Linus to factor out
    the alloc/dealloc.
    
    I've given this a test with a variety of different sized
    directories and it seems to work ok.
    
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Nick Piggin <npiggin@suse.de>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. davinci: da850/omap-l138 evm: account for DEFDCDC{2,3} being tied high

    Sekhar Nori Liam Girdwood
    Sekhar Nori authored and Liam Girdwood committed Jul 12, 2010
    Per the da850/omap-l138 Beta EVM SOM schematic, the DEFDCDC2 and
    DEFDCDC3 lines are tied high. This leads to a 3.3V IO and 1.2V CVDD
    voltage.
    
    Pass the right platform data to the TPS6507x driver so it can operate
    on the DEFDCDC{2,3}_HIGH register to read and change voltage levels.
    
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
  4. regulator: tps6507x: allow driver to use DEFDCDC{2,3}_HIGH register

    Anuj Aggarwal Liam Girdwood
    Anuj Aggarwal authored and Liam Girdwood committed Jul 12, 2010
    Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    
    In TPS6507x, depending on the status of DEFDCDC{2,3} pin either
    DEFDCDC{2,3}_LOW or DEFDCDC{2,3}_HIGH register needs to be read or
    programmed to change the output voltage.
    
    The current driver assumes DEFDCDC{2,3} pins are always tied low
    and thus operates only on DEFDCDC{2,3}_LOW register. This need
    not always be the case (as is found on OMAP-L138 EVM).
    
    Unfortunately, software cannot read the status of DEFDCDC{2,3} pins.
    So, this information is passed through platform data depending on
    how the board is wired.
    
    Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Commits on Jul 27, 2010
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jul 27, 2010
    …/git/ericvh/v9fs
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
      9p: Pass the correct end of buffer to p9stat_read
  2. gpio: fix spurious printk when freeing a gpio

    Jon Povey authored and torvalds committed Jul 27, 2010
    When freeing a gpio that has not been exported, gpio_unexport() prints a
    debug message when it should just fall through silently.
    
    Example spurious message:
    
    	gpio_unexport: gpio0 status -22
    
    Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
    Cc: David Brownell <david-b@pacbell.net>
    Acked-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
    Cc: Gregory Bean <gbean@codeaurora.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. edac: mpc85xx: fix coldplug/hotplug module autoloading

    Anton Vorontsov authored and torvalds committed Jul 27, 2010
    The MPC85xx EDAC driver is missing module device aliases, so the driver
    won't load automatically on boot.  This patch fixes the issue by adding
    proper MODULE_DEVICE_TABLE() macros.
    
    Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
    Cc: Doug Thompson <dougthompson@xmission.com>
    Cc: Peter Tyser <ptyser@xes-inc.com>
    Cc: Dave Jiang <djiang@mvista.com>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. drivers/rtc/rtc-rx8581.c: fix setdatetime

    Rudolf Marek authored and torvalds committed Jul 27, 2010
    Fix the logic while writing new date/time to the chip.  The driver
    incorrectly wrote back register values to different registers and even
    with wrong mask.  The patch adds clearing of the VLF register, which
    should be cleared if all date/time values are set.
    
    Signed-off-by: Rudolf Marek <rudolf.marek@sysgo.com>
    Acked-by: Wan ZongShun <mcuos.com@gmail.com>
    Cc: Martyn Welch <martyn.welch@gefanuc.com>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. dynamic debug: move ddebug_remove_module() down into free_module()

    jibaron authored and torvalds committed Jul 27, 2010
    The command
    
    	echo "file ec.c +p" >/sys/kernel/debug/dynamic_debug/control
    
    causes an oops.
    
    Move the call to ddebug_remove_module() down into free_module().  In this
    way it should be called from all error paths.  Currently, we are missing
    the remove if the module init routine fails.
    
    Signed-off-by: Jason Baron <jbaron@redhat.com>
    Reported-by: Thomas Renninger <trenn@suse.de>
    Tested-by: Thomas Renninger <trenn@suse.de>
    Cc: <stable@kernel.org>		[2.6.32+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  6. ceph: use complete_all and wake_up_all

    yehudasa authored and liewegas committed Jul 27, 2010
    This fixes an issue triggered by running concurrent syncs. One of the syncs
    would go through while the other would just hang indefinitely. In any case, we
    never actually want to wake a single waiter, so the *_all functions should
    be used.
    
    Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
    Signed-off-by: Sage Weil <sage@newdream.net>
  7. 9p: Pass the correct end of buffer to p9stat_read

    lionkov authored and ericvh committed Jul 19, 2010
    Pass the correct end of the buffer to p9stat_read.
    
    Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
    Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
  8. [SCSI] ibmvscsi: Fix oops when an interrupt is pending during probe

    antonblanchard authored and James Bottomley committed Jul 13, 2010
    A driver needs to be ready to take an interrupt as soon as it registers
    an interrupt handler. I noticed the following oops when testing kdump:
    
    ipr: IBM Power RAID SCSI Device Driver version: 2.5.0 (February 11, 2010)
    ibmvscsi 30000002: SRP_VERSION: 16.a
    ibmvscsi 30000002: SRP_VERSION: 16.a
    Unable to handle kernel paging request for data at address 0x00000000
    ...
    pc: c000000004085e34: .tasklet_action+0xf4/0x1dc
    ...
    c000000004086fe4 .__do_softirq+0x16c/0x2c0
    c00000000403138c .call_do_softirq+0x14/0x24
    c00000000400ee14 .do_softirq+0xa0/0x104
    c00000000408690c .irq_exit+0x70/0xd0
    c00000000400f190 .do_IRQ+0x214/0x2a8
    c000000004004804 hardware_interrupt_entry+0x1c/0x98
    --- Exception: 501 (Hardware Interrupt) at c00000000400c544 .raw_local_irq_restore+0x48/0x54
    c00000000465d2a8 ._raw_spin_unlock_irqrestore+0x74/0xa0
    c0000000040e7f00 .__setup_irq+0x2ec/0x3f0
    c0000000040e8198 .request_threaded_irq+0x194/0x22c
    c00000000446d854 .rpavscsi_init_crq_queue+0x284/0x3f0
    c00000000446c764 .ibmvscsi_probe+0x688/0x710
    c00000000402903c .vio_bus_probe+0x37c/0x3e4
    c000000004403f10 .driver_probe_device+0xec/0x1b8
    c000000004404088 .__driver_attach+0xac/0xf4
    c000000004403184 .bus_for_each_dev+0x98/0x104
    c000000004403c98 .driver_attach+0x40/0x60
    c0000000044026f0 .bus_add_driver+0x154/0x324
    c0000000044045d0 .driver_register+0xe8/0x1ac
    c00000000402b2a8 .vio_register_driver+0x54/0x74
    c000000004933ea4 .ibmvscsi_module_init+0x80/0xc0
    c000000004009834 .do_one_initcall+0x98/0x1d8
    c0000000049005b4 .kernel_init+0x27c/0x33c
    c000000004031550 .kernel_thread+0x54/0x70
    
    srp_task needs to be setup before request_irq. The patch below fixes the oops.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Acked-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  9. Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    torvalds committed Jul 27, 2010
    …t/paulus/perf
    
    * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perf:
      perf, powerpc: Use perf_sample_data_init() for the FSL code
  10. Merge git://git.infradead.org/users/cbou/battery-2.6.35

    torvalds committed Jul 27, 2010
    * git://git.infradead.org/users/cbou/battery-2.6.35:
      ds2782_battery: Rename get_current to fix build failure / name conflict
  11. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

    torvalds committed Jul 27, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      s2io: fixing DBG_PRINT() macro
      ath9k: fix dma direction for map/unmap in ath_rx_tasklet
      net: dev_forward_skb should call nf_reset
      net sched: fix race in mirred device removal
      tun: avoid BUG, dump packet on GSO errors
      bonding: set device in RLB ARP packet handler
      wimax/i2400m: Add PID & VID for Intel WiMAX 6250
      ipv6: Don't add routes to ipv6 disabled interfaces.
      net: Fix skb_copy_expand() handling of ->csum_start
      net: Fix corruption of skb csum field in pskb_expand_head() of net/core/skbuff.c
      macvtap: Limit packet queue length
      ixgbe/igb: catch invalid VF settings
      bnx2x: Advance a module version
      bnx2x: Protect statistics ramrod and sequence number
      bnx2x: Protect a SM state change
      wireless: use netif_rx_ni in ieee80211_send_layer2_update
  12. perf, powerpc: Use perf_sample_data_init() for the FSL code

    Peter Zijlstra authored and paulusmack committed Jul 9, 2010
    We should use perf_sample_data_init() to initialize struct
    perf_sample_data.  As explained in the description of commit dc1d628
    ("perf: Provide generic perf_sample_data initialization"), it is
    possible for userspace to get the kernel to dereference data.raw,
    so if it is not initialized, that means that unprivileged userspace
    can possibly oops the kernel.  Using perf_sample_data_init makes sure
    it gets initialized to NULL.
    
    This conversion should have been included in commit dc1d628, but it
    got missed.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Acked-by: Kumar Gala <kumar.gala@freescale.com>
    Signed-off-by: Paul Mackerras <paulus@samba.org>
  13. wm8350-regulator: fix wm8350_register_regulator error handling

    AxelLin authored and Liam Girdwood committed Jul 26, 2010
    In the case of platform_device_add() fail, we should call
    platform_device_put() instead of platform_device_del()
    
    Signed-off-by: Axel Lin <axel.lin@gmail.com>
    Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
  14. ab3100: fix off-by-one value range checking for voltage selector

    AxelLin authored and Liam Girdwood committed Jul 26, 2010
    We use voltage selector as an array index for typ_voltages.
    Thus the valid range for voltage selector should be 0..voltages_len-1.
    
    Signed-off-by: Axel Lin <axel.lin@gmail.com>
    Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: Linus Walleij <linus.walleij@stericsson.com>
    Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Commits on Jul 26, 2010
  1. Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/li…

    torvalds committed Jul 26, 2010
    …nux/kernel/git/tip/linux-2.6-tip
    
    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      x86: Do not try to disable hpet if it hasn't been initialized before
      x86, i8259: Only register sysdev if we have a real 8259 PIC
  2. s2io: fixing DBG_PRINT() macro

    Breno Leitao authored and davem330 committed Jul 26, 2010
    Patch 9e39f7c changed the
    DBG_PRINT() macro and the if clause was wrongly changed. It means
    that currently all the DBG_PRINT are being printed, flooding the
    kernel log buffer with things like:
    
    s2io: eth6: Next block at: c0000000b9c90000
    s2io: eth6: In Neterion Tx routine
    
    Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
    Acked-by: Sreenivasa Honnur <Sreenivasa.Honnur@neterion.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  3. Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git…

    torvalds committed Jul 26, 2010
    …/davej/cpufreq
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
      [CPUFREQ] powernow-k8: Limit Pstate transition latency check
      [CPUFREQ] Fix PCC driver error path
      [CPUFREQ] fix double freeing in error path of pcc-cpufreq
      [CPUFREQ] pcc driver should check for pcch method before calling _OSC
      [CPUFREQ] fix memory leak in cpufreq_add_dev
      [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"
  4. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-…

    torvalds committed Jul 26, 2010
    …linus
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
      MIPS: Set io_map_base for several PCI bridges lacking it
      MIPS: Alchemy: Define eth platform devices in the correct order
      MIPS: BCM63xx: Prevent second enet registration on BCM6338
      MIPS: Quit using undefined behavior of ADDU in 64-bit atomic operations.
      MIPS: N32: Define getdents64.
      MIPS: MTX-1: Fix PCI on the MeshCube and related boards
      MIPS: Make init_vdso a subsys_initcall.
      MIPS: "Fix" useless 'init_vdso successfully' message.
      MIPS: PowerTV: Move register setup to before reading registers.
      SOUND: Au1000: Fix section mismatch
      VIDEO: Au1100fb: Fix section mismatch
      VIDEO: PMAGB-B: Fix section mismatch
      VIDEO: PMAG-BA: Fix section mismatch
      NET: declance: Fix section mismatches
      VIDEO. gbefb: Fix section mismatches.
  5. drm/i915: make sure we shut off the panel in eDP configs

    jbarnes993 authored and torvalds committed Jul 26, 2010
    Fix error from the last pull request.  Making sure we shut the panel off
    is more correct and saves power.
    
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  6. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    davem330 committed Jul 26, 2010
    …t/linville/wireless-2.6
  7. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-cor…

    torvalds committed Jul 26, 2010
    …e-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
      sysfs: allow creating symlinks from untagged to tagged directories
      sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.
      sysfs: Don't allow the creation of symlinks we can't remove
  8. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

    torvalds committed Jul 26, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
      USB: musb: tusb6010: fix compile error with n8x0_defconfig
      USB: FTDI: Add support for the RT System VX-7 radio programming cable
      USB: add quirk for Broadcom BT dongle
      USB: usb-storage: fix initializations of urb fields
      USB: xhci: Set Mult field in endpoint context correctly.
      USB: sisusbvga: Fix for USB 3.0
      USB: adds Artisman USB dongle to list of quirky devices
      USB: xhci: Set EP0 dequeue ptr after reset of configured device.
      USB: Fix USB3.0 Port Speed Downgrade after port reset
      USB: xHCI: Fix another bug in link TRB activation change.
      USB: option: Add support for AMOI Skypephone S2
      USB: New PIDs for Qualcomm gobi 2000 (qcserial)
      USB: ftdi_sio: support for Signalyzer tools based on FTDI chips
      USB: s3c2410_udc: be aware of connected gadget driver
      USB: Expose vendor-specific ACM channel on Nokia 5230
      USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c
      USB: option: add support for 1da5:4518
  9. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

    torvalds committed Jul 26, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
      serial: fix rs485 for atmel_serial on avr32
  10. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jul 26, 2010
    …/git/anholt/drm-intel
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
      drm/i915: add pipe A force quirks to i915 driver
      drm/i915: Fix panel fitting regression since 734b415
      drm/i915: fix deadlock in fb teardown
      drm/i915: don't free non-existent compressed llb on ILK+
      agp/intel: Use the correct mask to detect i830 aperture size.
      drm/i915: disable FBC when more than one pipe is active
      drm/i915: Use the correct scanout alignment for fbcon.
      drm/i915: make sure eDP panel is turned on
      drm/i915: add PANEL_UNLOCK_REGS definition
      drm/i915: Make G4X-style PLL search more permissive
      drm/i915: Clear any existing dither mode prior to enabling spatial dithering
      drm/i915: handle shared framebuffers when flipping
      drm/i915: Explosion following OOM in do_execbuffer.
      gpu/drm/i915: Add a blacklist to omit modeset on LID open
  11. [CPUFREQ] powernow-k8: Limit Pstate transition latency check

    Borislav Petkov Dave Jones
    Borislav Petkov authored and Dave Jones committed Jul 8, 2010
    The Pstate transition latency check was added for broken F10h BIOSen
    which wrongly contain a value of 0 for transition and bus master
    latency. Fam11h and later, however, (will) have similar transition
    latency so extend that behavior for them too.
    
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Dave Jones <davej@redhat.com>
  12. [CPUFREQ] Fix PCC driver error path

    Matthew Garrett Dave Jones
    Matthew Garrett authored and Dave Jones committed Jul 15, 2010
    The PCC cpufreq driver unmaps the mailbox address range if any CPUs fail to
    initialise, but doesn't do anything to remove the registered CPUs from the
    cpufreq core resulting in failures further down the line. We're better off
    simply returning a failure - the cpufreq core will unregister us cleanly if
    we end up with no successfully registered CPUs. Tidy up the failure path
    and also add a sanity check to ensure that the firmware gives us a realistic
    frequency - the core deals badly with that being set to 0.
    
    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    Cc: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
    Signed-off-by: Dave Jones <davej@redhat.com>