04 Jan, 2012

2 commits

  • Charger Manager provides power-supply-class aggregating
    information from multiple chargers and a fuel-gauge.

    Signed-off-by: Donggeun Kim
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Anton Vorontsov

    Donggeun Kim
     
  • Because battery health monitoring should be done even when suspended,
    it needs to wake up and suspend periodically. Thus, userspace battery
    monitoring may incur too much overhead; every device and task is woken
    up periodically. Charger Manager uses suspend-again to provide
    in-suspend monitoring.

    This patch allows to monitor battery health in-suspend state.

    Signed-off-by: Donggeun Kim
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Anton Vorontsov

    Donggeun Kim
     

26 Nov, 2011

18 commits


25 Nov, 2011

8 commits


24 Oct, 2011

5 commits

  • Linus Torvalds
     
  • * git://git.infradead.org/iommu-2.6:
    intel-iommu: fix superpage support in pfn_to_dma_pte()
    intel-iommu: set iommu_superpage on VM domains to lowest common denominator
    intel-iommu: fix return value of iommu_unmap() API
    MAINTAINERS: Update VT-d entry for drivers/pci -> drivers/iommu move
    intel-iommu: Export a flag indicating that the IOMMU is used for iGFX.
    intel-iommu: Workaround IOTLB hang on Ironlake GPU
    intel-iommu: Fix AB-BA lockdep report

    Linus Torvalds
     
  • * 'for-linus' of http://people.redhat.com/agk/git/linux-dm:
    dm kcopyd: fix job_pool leak

    Linus Torvalds
     
  • Commit 4b239f458 ("x86-64, mm: Put early page table high") causes a S4
    regression since 2.6.39, namely the machine reboots occasionally at S4
    resume. It doesn't happen always, overall rate is about 1/20. But,
    like other bugs, once when this happens, it continues to happen.

    This patch fixes the problem by essentially reverting the memory
    assignment in the older way.

    Signed-off-by: Takashi Iwai
    Cc:
    Cc: Rafael J. Wysocki
    Cc: Yinghai Lu
    [ We'll hopefully find the real fix, but that's too late for 3.1 now ]
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     
  • Fix memory leak introduced by commit a6e50b409d3f9e0833e69c3c9cca822e8fa4adbb
    (dm snapshot: skip reading origin when overwriting complete chunk).

    When allocating a set of jobs from kc->job_pool, job->master_job must be
    set (to point to itself) so that the mempool item gets freed when the
    master_job completes.

    master_job was introduced by commit c6ea41fbbe08f270a8edef99dc369faf809d1bd6
    (dm kcopyd: preallocate sub jobs to avoid deadlock)

    Reported-by: Michael Leun
    Cc: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon

    Alasdair G Kergon
     

23 Oct, 2011

2 commits


22 Oct, 2011

1 commit

  • v2:
    - register_syscore_ops(&s3c24xx_irq_syscore_ops) does not need to be
    conditionally compiled out, it is already optimized out on !CONFIG_PM
    - fix also s3c2412 and s3c2416 affected by the same build issue

    v1:
    s3c2440.c fails to build if !CONFIG_PM because in such case
    s3c2410_pm_syscore_ops is not defined. Same error should happen also
    in s3c2410.c and s3c2442.c

    Signed-off-by: Domenico Andreoli
    Signed-off-by: Kukjin Kim

    Domenico Andreoli
     

21 Oct, 2011

4 commits

  • * git://github.com/herbertx/crypto:
    crypto: ghash - Avoid null pointer dereference if no key is set

    Linus Torvalds
     
  • * 'fix/hda' of git://github.com/tiwai/sound:
    ALSA: HDA: conexant support for Lenovo T520/W520
    ALSA: hda - Add position_fix quirk for Dell Inspiron 1010

    Linus Torvalds
     
  • The ghash_update function passes a pointer to gf128mul_4k_lle which will
    be NULL if ghash_setkey is not called or if the most recent call to
    ghash_setkey failed to allocate memory. This causes an oops. Fix this
    up by returning an error code in the null case.

    This is trivially triggered from unprivileged userspace through the
    AF_ALG interface by simply writing to the socket without setting a key.

    The ghash_final function has a similar issue, but triggering it requires
    a memory allocation failure in ghash_setkey _after_ at least one
    successful call to ghash_update.

    BUG: unable to handle kernel NULL pointer dereference at 00000670
    IP: [] gf128mul_4k_lle+0x23/0x60 [gf128mul]
    *pde = 00000000
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in: ghash_generic gf128mul algif_hash af_alg nfs lockd nfs_acl sunrpc bridge ipv6 stp llc

    Pid: 1502, comm: hashatron Tainted: G W 3.1.0-rc9-00085-ge9308cf #32 Bochs Bochs
    EIP: 0060:[] EFLAGS: 00000202 CPU: 0
    EIP is at gf128mul_4k_lle+0x23/0x60 [gf128mul]
    EAX: d69db1f0 EBX: d6b8ddac ECX: 00000004 EDX: 00000000
    ESI: 00000670 EDI: d6b8ddac EBP: d6b8ddc8 ESP: d6b8dda4
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    Process hashatron (pid: 1502, ti=d6b8c000 task=d6810000 task.ti=d6b8c000)
    Stack:
    00000000 d69db1f0 00000163 00000000 d6b8ddc8 c101a520 d69db1f0 d52aa000
    00000ff0 d6b8dde8 d88d310f d6b8a3f8 d52aa000 00001000 d88d502c d6b8ddfc
    00001000 d6b8ddf4 c11676ed d69db1e8 d6b8de24 c11679ad d52aa000 00000000
    Call Trace:
    [] ? kmap_atomic_prot+0x37/0xa6
    [] ghash_update+0x85/0xbe [ghash_generic]
    [] crypto_shash_update+0x18/0x1b
    [] shash_ahash_update+0x22/0x36
    [] shash_async_update+0xb/0xd
    [] hash_sendpage+0xba/0xf2 [algif_hash]
    [] kernel_sendpage+0x39/0x4e
    [] ? 0xd88cdfff
    [] sock_sendpage+0x37/0x3e
    [] ? kernel_sendpage+0x4e/0x4e
    [] pipe_to_sendpage+0x56/0x61
    [] splice_from_pipe_feed+0x58/0xcd
    [] ? splice_from_pipe_begin+0x10/0x10
    [] __splice_from_pipe+0x36/0x55
    [] ? splice_from_pipe_begin+0x10/0x10
    [] splice_from_pipe+0x51/0x64
    [] ? default_file_splice_write+0x2c/0x2c
    [] generic_splice_sendpage+0x13/0x15
    [] ? splice_from_pipe_begin+0x10/0x10
    [] do_splice_from+0x5d/0x67
    [] sys_splice+0x2bf/0x363
    [] ? sysenter_exit+0xf/0x16
    [] ? trace_hardirqs_on_caller+0x10e/0x13f
    [] sysenter_do_call+0x12/0x32
    Code: 83 c4 0c 5b 5e 5f c9 c3 55 b9 04 00 00 00 89 e5 57 8d 7d e4 56 53 8d 5d e4 83 ec 18 89 45 e0 89 55 dc 0f b6 70 0f c1 e6 04 01 d6 a5 be 0f 00 00 00 4e 89 d8 e8 48 ff ff ff 8b 45 e0 89 da 0f
    EIP: [] gf128mul_4k_lle+0x23/0x60 [gf128mul] SS:ESP 0068:d6b8dda4
    CR2: 0000000000000670
    ---[ end trace 4eaa2a86a8e2da24 ]---
    note: hashatron[1502] exited with preempt_count 1
    BUG: scheduling while atomic: hashatron/1502/0x10000002
    INFO: lockdep is turned off.
    [...]

    Signed-off-by: Nick Bowler
    Cc: stable@kernel.org [2.6.37+]
    Signed-off-by: Herbert Xu

    Nick Bowler
     
  • Offsets of the irq controller registers were calculated
    correctly only for first GPIO bank. This patch fixes
    calculation of the register offsets for all GPIO banks.

    Reported-by: Sylwester Nawrocki
    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Kukjin Kim

    Marek Szyprowski