1. 15 Feb, 2012 1 commit
    • Ming Lei's avatar
      Fix circular locking dependency (3.3-rc2) · 864533ce
      Ming Lei authored
      Hi,
      
      On Wed, Feb 8, 2012 at 8:41 PM, Felipe Balbi <balbi@ti.com> wrote:
      > Hi guys,
      >
      > I have just triggered the folllowing:
      >
      > [   84.860321] ======================================================
      > [   84.860321] [ INFO: possible circular locking dependency detected ]
      > [   84.860321] 3.3.0-rc2-00026-ge4e8a39 #474 Not tainted
      > [   84.860321] -------------------------------------------------------
      > [   84.860321] bash/949 is trying to acquire lock:
      > [   84.860321]  (sysfs_lock){+.+.+.}, at: [<c0275358>] gpio_value_store+0x24/0xcc
      > [   84.860321]
      > [   84.860321] but task is already holding lock:
      > [   84.860321]  (s_active#22){++++.+}, at: [<c016996c>] sysfs_write_file+0xdc/0x184
      > [   84.911468]
      > [   84.911468] which lock already depends on the new lock.
      > [   84.911468]
      > [   84.920043]
      > [   84.920043] the existing dependency chain (in reverse order) is:
      > [   84.920043]
      > [   84.927886] -> #1 (s_active#22){++++.+}:
      > [   84.927886]        [<c008f640>] check_prevs_add+0xdc/0x150
      > [   84.927886]        [<c008fc18>] validate_chain.clone.24+0x564/0x694
      > [   84.927886]        [<c0090cdc>] __lock_acquire+0x49c/0x980
      > [   84.951660]        [<c0091838>] lock_acquire+0x98/0x100
      > [   84.951660]        [<c016a8e8>] sysfs_deactivate+0xb0/0x100
      > [   84.962982]        [<c016b1b4>] sysfs_addrm_finish+0x2c/0x6c
      > [   84.962982]        [<c016b8bc>] sysfs_remove_dir+0x84/0x98
      > [   84.962982]        [<c02590d8>] kobject_del+0x10/0x78
      > [   84.974670]        [<c02c29e8>] device_del+0x140/0x170
      > [   84.974670]        [<c02c2a24>] device_unregister+0xc/0x18
      > [   84.985382]        [<c0276894>] gpio_unexport+0xbc/0xdc
      > [   84.985382]        [<c02768c8>] gpio_free+0x14/0xfc
      > [   85.001708]        [<c0276a28>] unexport_store+0x78/0x8c
      > [   85.001708]        [<c02c5af8>] class_attr_store+0x18/0x24
      > [   85.007293]        [<c0169990>] sysfs_write_file+0x100/0x184
      > [   85.018981]        [<c0109d48>] vfs_write+0xb4/0x148
      > [   85.018981]        [<c0109fd0>] sys_write+0x40/0x70
      > [   85.018981]        [<c0013cc0>] ret_fast_syscall+0x0/0x3c
      > [   85.035003]
      > [   85.035003] -> #0 (sysfs_lock){+.+.+.}:
      > [   85.035003]        [<c008f54c>] check_prev_add+0x680/0x698
      > [   85.035003]        [<c008f640>] check_prevs_add+0xdc/0x150
      > [   85.052093]        [<c008fc18>] validate_chain.clone.24+0x564/0x694
      > [   85.052093]        [<c0090cdc>] __lock_acquire+0x49c/0x980
      > [   85.052093]        [<c0091838>] lock_acquire+0x98/0x100
      > [   85.069885]        [<c047e280>] mutex_lock_nested+0x3c/0x2f4
      > [   85.069885]        [<c0275358>] gpio_value_store+0x24/0xcc
      > [   85.069885]        [<c02c18dc>] dev_attr_store+0x18/0x24
      > [   85.087158]        [<c0169990>] sysfs_write_file+0x100/0x184
      > [   85.087158]        [<c0109d48>] vfs_write+0xb4/0x148
      > [   85.098297]        [<c0109fd0>] sys_write+0x40/0x70
      > [   85.098297]        [<c0013cc0>] ret_fast_syscall+0x0/0x3c
      > [   85.109069]
      > [   85.109069] other info that might help us debug this:
      > [   85.109069]
      > [   85.117462]  Possible unsafe locking scenario:
      > [   85.117462]
      > [   85.117462]        CPU0                    CPU1
      > [   85.128417]        ----                    ----
      > [   85.128417]   lock(s_active#22);
      > [   85.128417]                                lock(sysfs_lock);
      > [   85.128417]                                lock(s_active#22);
      > [   85.142486]   lock(sysfs_lock);
      > [   85.151794]
      > [   85.151794]  *** DEADLOCK ***
      > [   85.151794]
      > [   85.151794] 2 locks held by bash/949:
      > [   85.158020]  #0:  (&buffer->mutex){+.+.+.}, at: [<c01698b8>] sysfs_write_file+0x28/0x184
      > [   85.170349]  #1:  (s_active#22){++++.+}, at: [<c016996c>] sysfs_write_file+0xdc/0x184
      > [   85.170349]
      > [   85.178588] stack backtrace:
      > [   85.178588] [<c001b824>] (unwind_backtrace+0x0/0xf0) from [<c008de64>] (print_circular_bug+0x100/0x114)
      > [   85.193023] [<c008de64>] (print_circular_bug+0x100/0x114) from [<c008f54c>] (check_prev_add+0x680/0x698)
      > [   85.193023] [<c008f54c>] (check_prev_add+0x680/0x698) from [<c008f640>] (check_prevs_add+0xdc/0x150)
      > [   85.212524] [<c008f640>] (check_prevs_add+0xdc/0x150) from [<c008fc18>] (validate_chain.clone.24+0x564/0x694)
      > [   85.212524] [<c008fc18>] (validate_chain.clone.24+0x564/0x694) from [<c0090cdc>] (__lock_acquire+0x49c/0x980)
      > [   85.233306] [<c0090cdc>] (__lock_acquire+0x49c/0x980) from [<c0091838>] (lock_acquire+0x98/0x100)
      > [   85.233306] [<c0091838>] (lock_acquire+0x98/0x100) from [<c047e280>] (mutex_lock_nested+0x3c/0x2f4)
      > [   85.242614] [<c047e280>] (mutex_lock_nested+0x3c/0x2f4) from [<c0275358>] (gpio_value_store+0x24/0xcc)
      > [   85.261840] [<c0275358>] (gpio_value_store+0x24/0xcc) from [<c02c18dc>] (dev_attr_store+0x18/0x24)
      > [   85.261840] [<c02c18dc>] (dev_attr_store+0x18/0x24) from [<c0169990>] (sysfs_write_file+0x100/0x184)
      > [   85.271240] [<c0169990>] (sysfs_write_file+0x100/0x184) from [<c0109d48>] (vfs_write+0xb4/0x148)
      > [   85.290008] [<c0109d48>] (vfs_write+0xb4/0x148) from [<c0109fd0>] (sys_write+0x40/0x70)
      > [   85.298400] [<c0109fd0>] (sys_write+0x40/0x70) from [<c0013cc0>] (ret_fast_syscall+0x0/0x3c)
      > -bash: echo: write error: Operation not permitted
      >
      > the way to trigger is:
      >
      > root@legolas:~# cd /sys/class/gpio/
      > root@legolas:/sys/class/gpio# echo 2 > export
      > root@legolas:/sys/class/gpio# echo 2 > unexport
      > root@legolas:/sys/class/gpio# echo 2 > export
      > root@legolas:/sys/class/gpio# cd gpio2/
      > root@legolas:/sys/class/gpio/gpio2# echo 1 > value
      
      Looks 'sysfs_lock' needn't to be held for unregister, so the patch below may
      fix the problem.
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      864533ce
  2. 06 Feb, 2012 2 commits
  3. 03 Feb, 2012 1 commit
    • Sebastian Andrzej Siewior's avatar
      gpio: Add a driver for Sodaville GPIO controller · b43ab901
      Sebastian Andrzej Siewior authored
      Sodaville has GPIO controller behind the PCI bus. To my suprissed it is
      not the same as on PXA.
      
      The interrupt & gpio chip can be referenced from the device tree like
      from any other driver. Unfortunately the driver which uses the gpio
      interrupt has to use irq_of_parse_and_map() instead of
      platform_get_irq(). The problem is that the platform device (which is
      created from the device tree) is most likely created before the
      interrupt chip is registered and therefore irq_of_parse_and_map() fails.
      
      In theory the driver works as module. In reality most of the irq
      functions are not exported to modules and it is possible that _this_
      module is unloaded while the provided irqs are still in use.
      Signed-off-by: default avatarHans J. Koch <hjk@linutronix.de>
      [torbenh@linutronix.de: make it work after the irq namespace cleanup,
      	                add some device tree entries.]
      Signed-off-by: default avatarTorben Hohn <torbenh@linutronix.de>
      [bigeasy@linutronix.de: convert to generic irq & gpio chip]
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [grant.likely@secretlab.ca: depend on x86 to avoid irq_domain breakage]
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      b43ab901
  4. 30 Jan, 2012 1 commit
  5. 19 Jan, 2012 16 commits
  6. 18 Jan, 2012 19 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 4ba3069f
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits)
        target: Set additional sense length field in sense data
        target: Remove legacy device status check from transport_execute_tasks
        target: Remove __transport_execute_tasks() for each processing context
        target: Remove extra se_device->execute_task_lock access in fast path
        target: Drop se_device TCQ queue_depth usage from I/O path
        target: Fix possible NULL pointer with __transport_execute_tasks
        target: Remove TFO->check_release_cmd() fabric API caller
        tcm_fc: Convert ft_send_work to use target_submit_cmd
        target: Add target_submit_cmd() for process context fabric submission
        target: Make target_put_sess_cmd use target_release_cmd_kref
        target: Set response format in INQUIRY response
        target: tcm_mod_builder: small fixups
        Documentation/target: Fix tcm_mod_builder.py build breakage
        target: remove overagressive ____cacheline_aligned annoations
        tcm_loop: bump max_sectors
        target/configs: remove trailing newline from udev_path and alias
        iscsi-target: fix chap identifier simple_strtoul usage
        target: remove useless casts
        target: simplify target_check_cdb_and_preempt
        target: Move core_scsi3_check_cdb_abort_and_preempt
        ...
      4ba3069f
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · 507a03c1
      Linus Torvalds authored
      This includes initial support for the recently published ACPI 5.0 spec.
      In particular, support for the "hardware-reduced" bit that eliminates
      the dependency on legacy hardware.
      
      APEI has patches resulting from testing on real hardware.
      
      Plus other random fixes.
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (52 commits)
        acpi/apei/einj: Add extensions to EINJ from rev 5.0 of acpi spec
        intel_idle: Split up and provide per CPU initialization func
        ACPI processor: Remove unneeded variable passed by acpi_processor_hotadd_init V2
        ACPI processor: Remove unneeded cpuidle_unregister_driver call
        intel idle: Make idle driver more robust
        intel_idle: Fix a cast to pointer from integer of different size warning in intel_idle
        ACPI: kernel-parameters.txt : Add intel_idle.max_cstate
        intel_idle: remove redundant local_irq_disable() call
        ACPI processor: Fix error path, also remove sysdev link
        ACPI: processor: fix acpi_get_cpuid for UP processor
        intel_idle: fix API misuse
        ACPI APEI: Convert atomicio routines
        ACPI: Export interfaces for ioremapping/iounmapping ACPI registers
        ACPI: Fix possible alignment issues with GAS 'address' references
        ACPI, ia64: Use SRAT table rev to use 8bit or 16/32bit PXM fields (ia64)
        ACPI, x86: Use SRAT table rev to use 8bit or 32bit PXM fields (x86/x86-64)
        ACPI: Store SRAT table revision
        ACPI, APEI, Resolve false conflict between ACPI NVS and APEI
        ACPI, Record ACPI NVS regions
        ACPI, APEI, EINJ, Refine the fix of resource conflict
        ...
      507a03c1
    • Stefan Berger's avatar
      tpm: fix (ACPI S3) suspend regression · be405411
      Stefan Berger authored
      This patch fixes an (ACPI S3) suspend regression introduced in commit
      68d6e671 ("tpm: Introduce function to poll for result of self test")
      and occurring with an Infineon TPM and tpm_tis and tpm_infineon drivers
      active.
      
      The suspend problem occurred if the TPM was disabled and/or deactivated
      and therefore the TPM_PCRRead checking the result of the (asynchronous)
      self test returned an error code which then caused the tpm_tis driver to
      become inactive and this then seemed to have negatively influenced the
      suspend support by the tpm_infineon driver...  Besides that the tpm_tis
      drive may stay active even if the TPM is disabled and/or deactivated.
      Signed-off-by: default avatarStefan Berger <stefanb@linux.vnet.ibm.com>
      Tested-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarRajiv Andrade <srajiv@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be405411
    • Linus Torvalds's avatar
      nvme: fix merge error due to change of 'make_request_fn' fn type · 93c3d65b
      Linus Torvalds authored
      The type of 'make_request_fn' changed in 5a7bbad2 ("block: remove
      support for bio remapping from ->make_request"), but the merge of the
      nvme driver didn't take that into account, and as a result the driver
      would compile with a warning:
      
        drivers/block/nvme.c: In function 'nvme_alloc_ns':
        drivers/block/nvme.c:1336:2: warning: passing argument 2 of 'blk_queue_make_request' from incompatible pointer type [enabled by default]
        include/linux/blkdev.h:830:13: note: expected 'void (*)(struct request_queue *, struct bio *)' but argument is of type 'int (*)(struct request_queue *, struct bio *)'
      
      It's benign, but the warning is annoying.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      93c3d65b
    • Stephen Rothwell's avatar
      xen: using EXPORT_SYMBOL requires including export.h · 9ef9b20b
      Stephen Rothwell authored
      Fix these warnings:
      
        drivers/xen/biomerge.c:14:1: warning: data definition has no type or storage class [enabled by default]
        drivers/xen/biomerge.c:14:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
        drivers/xen/biomerge.c:14:1: warning: parameter names (without types) in function declaration [enabled by default]
      
      And this build error:
      
        ERROR: "xen_biovec_phys_mergeable" [drivers/block/nvme.ko] undefined!
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ef9b20b
    • Linus Torvalds's avatar
      Merge branch 'for-linus/i2c-33' of git://git.fluff.org/bjdooks/linux · aa303f2c
      Linus Torvalds authored
      * 'for-linus/i2c-33' of git://git.fluff.org/bjdooks/linux:
        i2c-eg20t: Change-company-name-OKI-SEMICONDUCTOR to LAPIS Semiconductor
        i2c-eg20t: Support new device LAPIS Semiconductor ML7831 IOH
        i2c-eg20t: modified the setting of transfer rate.
        i2c-eg20t: use i2c_add_numbered_adapter to get a fixed bus number
        i2c: OMAP: Add DT support for i2c controller
        I2C: OMAP: NACK without STP
        I2C: OMAP: correct SYSC register offset for OMAP4
      aa303f2c
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 4a7c1ff2
      Linus Torvalds authored
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (57 commits)
        [media] as3645a: Fix compilation by including slab.h
        [media] s5p-fimc: Remove linux/version.h include from fimc-mdevice.c
        [media] s5p-mfc: Remove linux/version.h include from s5p_mfc.c
        [media] ds3000: using logical && instead of bitwise &
        [media] v4l2-ctrls: make control names consistent
        [media] DVB: dib0700, add support for Nova-TD LEDs
        [media] DVB: dib0700, add corrected Nova-TD frontend_attach
        [media] DVB: dib0700, separate stk7070pd initialization
        [media] DVB: dib0700, move Nova-TD Stick to a separate set
        [media] : add MODULE_FIRMWARE to dib0700
        [media] DVB-CORE: remove superfluous DTV_CMDs
        [media] s5p-jpeg: adapt to recent videobuf2 changes
        [media] s5p-g2d: fixed a bug in controls setting function
        [media] s5p-mfc: Fix volatile controls setup
        [media] drivers/media/video/s5p-mfc/s5p_mfc.c: adjust double test
        [media] drivers/media/video/s5p-fimc/fimc-capture.c: adjust double test
        [media] s5p-fimc: Fix incorrect control ID assignment
        [media] dvb_frontend: Don't call get_frontend() if idle
        [media] DocBook/dvbproperty.xml: Remove DTV_MODULATION from ISDB-T
        [media] DocBook/dvbproperty.xml: Fix ISDB-T delivery system parameters
        ...
      4a7c1ff2
    • Linus Torvalds's avatar
      Merge branch 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9278e634
      Linus Torvalds authored
      * 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: Wait for WM8993 FLL to stabilise
        ASoC: core - Free platform DAPM context at platform removal.
        ASoC: dapm - Fix check for codec context in dapm_power_widgets().
        ASoC: sgtl5000: update author email address
        ASoC: Fix DMA channel leak in imx-pcm-dma-mx2 driver.
      9278e634
    • Laxman Dewangan's avatar
      gpio: tps65910: Use correct offset for gpio initialization · 94bd2442
      Laxman Dewangan authored
      Using the correct gpio offset for setting the initial value
      of gpio when setting output direction.
      Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      94bd2442
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · d71f5be2
      Linus Torvalds authored
      SCSI updates on 20120118
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (49 commits)
        [SCSI] libfc: remove redundant timer init for fcp
        [SCSI] fcoe: Move fcoe_debug_logging from fcoe.h to fcoe.c
        [SCSI] libfc: Declare local functions static
        [SCSI] fcoe: fix regression on offload em matching function for initiator/target
        [SCSI] qla4xxx: Update driver version to 5.02.00-k12
        [SCSI] qla4xxx: Cleanup modinfo display
        [SCSI] qla4xxx: Update license
        [SCSI] qla4xxx: Clear the RISC interrupt bit during FW init
        [SCSI] qla4xxx: Added error logging for firmware abort
        [SCSI] qla4xxx: Disable generating pause frames in case of FW hung
        [SCSI] qla4xxx: Temperature monitoring for ISP82XX core.
        [SCSI] megaraid: fix sparse warnings
        [SCSI] sg: convert to kstrtoul_from_user()
        [SCSI] don't change sdev starvation list order without request dispatched
        [SCSI] isci: fix, prevent port from getting stuck in the 'configuring' state
        [SCSI] isci: fix start OOB
        [SCSI] isci: fix io failures while wide port links are coming up
        [SCSI] isci: allow more time for wide port targets
        [SCSI] isci: enable wide port targets
        [SCSI] isci: Fix IO fails when pull cable from phy in x4 wideport in MPC mode.
        ...
      d71f5be2
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/willy/linux-nvme · 92b5abbb
      Linus Torvalds authored
      * git://git.infradead.org/users/willy/linux-nvme: (105 commits)
        NVMe: Set number of queues correctly
        NVMe: Version 0.8
        NVMe: Set queue flags correctly
        NVMe: Simplify nvme_unmap_user_pages
        NVMe: Mark the end of the sg list
        NVMe: Fix DMA mapping for admin commands
        NVMe: Rename IO_TIMEOUT to NVME_IO_TIMEOUT
        NVMe: Merge the nvme_bio and nvme_prp data structures
        NVMe: Change nvme_completion_fn to take a dev
        NVMe: Change get_nvmeq to take a dev instead of a namespace
        NVMe: Simplify completion handling
        NVMe: Update Identify Controller data structure
        NVMe: Implement doorbell stride capability
        NVMe: Version 0.7
        NVMe: Don't probe namespace 0
        Fix calculation of number of pages in a PRP List
        NVMe: Create nvme_identify and nvme_get_features functions
        NVMe: Fix memory leak in nvme_dev_add()
        NVMe: Fix calls to dma_unmap_sg
        NVMe: Correct sg list setup in nvme_map_user_pages
        ...
      92b5abbb
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ccb19d26
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
        tg3: Fix single-vector MSI-X code
        openvswitch: Fix multipart datapath dumps.
        ipv6: fix per device IP snmp counters
        inetpeer: initialize ->redirect_genid in inet_getpeer()
        net: fix NULL-deref in WARN() in skb_gso_segment()
        net: WARN if skb_checksum_help() is called on skb requiring segmentation
        caif: Remove bad WARN_ON in caif_dev
        caif: Fix typo in Vendor/Product-ID for CAIF modems
        bnx2x: Disable AN KR work-around for BCM57810
        bnx2x: Remove AutoGrEEEn for BCM84833
        bnx2x: Remove 100Mb force speed for BCM84833
        bnx2x: Fix PFC setting on BCM57840
        bnx2x: Fix Super-Isolate mode for BCM84833
        net: fix some sparse errors
        net: kill duplicate included header
        net: sh-eth: Fix build error by the value which is not defined
        net: Use device model to get driver name in skb_gso_segment()
        bridge: BH already disabled in br_fdb_cleanup()
        net: move sock_update_memcg outside of CONFIG_INET
        mwl8k: Fixing Sparse ENDIAN CHECK warning
        ...
      ccb19d26
    • Len Brown's avatar
    • Tony Luck's avatar
      acpi/apei/einj: Add extensions to EINJ from rev 5.0 of acpi spec · c130bd6f
      Tony Luck authored
      ACPI 5.0 provides extensions to the EINJ mechanism to specify the
      target for the error injection - by APICID for cpu related errors,
      by address for memory related errors, and by segment/bus/device/function
      for PCIe related errors. Also extensions for vendor specific error
      injections.
      Tested-by: default avatarChen Gong <gong.chen@linux.intel.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      c130bd6f
    • Len Brown's avatar
      Merge branch 'atomicio-remove' into release · cb797175
      Len Brown authored
      cb797175
    • Len Brown's avatar
      Merge branch 'apei' into release · 037d76f4
      Len Brown authored
      037d76f4
    • Thomas Renninger's avatar
      intel_idle: Split up and provide per CPU initialization func · 65b7f839
      Thomas Renninger authored
      Function split up, should have no functional change.
      
      Provides entry point for physically hotplugged CPUs
      to initialize and activate cpuidle.
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      CC: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
      CC: Shaohua Li <shaohua.li@intel.com>
      CC: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      65b7f839
    • Thomas Renninger's avatar
      ACPI processor: Remove unneeded variable passed by acpi_processor_hotadd_init V2 · 3bd81a87
      Thomas Renninger authored
      V2: Fix typo: pr->handle -> pr, here: acpi_processor_hotadd_init(pr)
      
      This is a very small part taken from patches which afaik
      are coming from Yunhong Jiang (for a Xen not a Linus repo?).
      
      Cleanup only: no functional change.
      
      Advantage (beside cleanup) is that other data of the pr (acpi_processor) struct
      in the acpi_processor_hotadd_init() is needed later, for example a newly
      introduced flag:
      pr->flags.need_hotplug_init
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      CC: Bjorn Helgaas <bhelgaas@google.com>
      CC: Jiang, Yunhong <yunhong.jiang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      3bd81a87
    • Matt Carlson's avatar
      tg3: Fix single-vector MSI-X code · c3b5003b
      Matt Carlson authored
      Kdump kernels leave MSI-X interrupts (as setup by the crashed kernel)
      enabled.  However, kdump only enables one CPU in the new environment,
      thus causing tg3 to abort MSI-X setup.  When the driver attempts to
      enable INTA or MSI interrupt modes on a kdump kernel, interrupt
      delivery fails.
      
      This patch attempts to workaround the problem by forcing the driver
      to enable a single MSI-X interrupt.  In such a configuration, the
      device's multivector interrupt mode must be disabled.
      Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3b5003b