02 Feb, 2013

8 commits

  • policy->shared_type field was added only for SoCs with ACPI support:

    commit 3b2d99429e3386b6e2ac949fc72486509c8bbe36
    Author: Venkatesh Pallipadi
    Date: Wed Dec 14 15:05:00 2005 -0500

    P-state software coordination for ACPI core

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

    Many non-ACPI systems are filling this field by mistake, which makes its usage
    confusing. Lets clean it.

    Signed-off-by: Viresh Kumar
    Acked-by: Santosh Shilimkar
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     
  • Currently, whenever governor->governor() is called for CPUFRREQ_GOV_START event
    we reset few tunables of governor. Which isn't correct, as this routine is
    called for every cpu hot-[un]plugging event. We should actually be resetting
    these only when the governor module is removed and re-installed.

    Signed-off-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     
  • Implement a generic helper function policy_is_shared() to replace the
    current dbs_sw_coordinated_cpus() at cpufreq level, so that it can be
    used by code other than cpufreq governors.

    Suggested-by: Viresh Kumar
    Signed-off-by: Fabio Baltieri
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Fabio Baltieri
     
  • Documentation related to cpus and related_cpus is confusing and not very clear.
    Over that CPUFreq core has seen much changes recently. Lets update documentation
    and comments for cpus and related_cpus.

    Signed-off-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     
  • The pl320 IPC allows for interprocessor communication between the
    highbank A9 and the EnergyCore Management Engine. The pl320 implements
    a straightforward mailbox protocol.

    Signed-off-by: Mark Langsdorf
    Signed-off-by: Rob Herring
    Signed-off-by: Rafael J. Wysocki

    Rob Herring
     
  • Move function prototypes to a place where they logically fit better.

    Signed-off-by: Borislav Petkov
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Borislav Petkov
     
  • Add a helper function to return cpufreq_driver->name.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Rafael J. Wysocki

    Borislav Petkov
     
  • __cpufreq_remove_dev() is called on multiple occasions: cpufreq_driver
    unregister and cpu removals.

    Current implementation of this routine is overly complex without much need. If
    the cpu to be removed is the policy->cpu, we remove the policy first and add all
    other cpus again from policy->cpus and then finally call __cpufreq_remove_dev()
    again to remove the cpu to be deleted. Haahhhh..

    There exist a simple solution to removal of a cpu:
    - Simply use the old policy structure
    - update its fields like: policy->cpu, etc.
    - notify any users of cpufreq, which depend on changing policy->cpu

    Hence this patch, which tries to implement the above theory. It is tested well
    by myself on ARM big.LITTLE TC2 SoC, which has 5 cores (2 A15 and 3 A7). Both
    A15's share same struct policy and all A7's share same policy structure.

    Signed-off-by: Viresh Kumar
    Tested-by: Shawn Guo
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     

31 Jan, 2013

2 commits

  • Pull x86 fixes from Peter Anvin:
    "This is a collection of miscellaneous fixes, the most important one is
    the fix for the Samsung laptop bricking issue (auto-blacklisting the
    samsung-laptop driver); the efi_enabled() changes you see below are
    prerequisites for that fix.

    The other issues fixed are booting on OLPC XO-1.5, an UV fix, NMI
    debugging, and requiring CAP_SYS_RAWIO for MSR references, just as
    with I/O port references."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    samsung-laptop: Disable on EFI hardware
    efi: Make 'efi_enabled' a function to query EFI facilities
    smp: Fix SMP function call empty cpu mask race
    x86/msr: Add capabilities check
    x86/dma-debug: Bump PREALLOC_DMA_DEBUG_ENTRIES
    x86/olpc: Fix olpc-xo1-sci.c build errors
    arch/x86/platform/uv: Fix incorrect tlb flush all issue
    x86-64: Fix unwind annotations in recent NMI changes
    x86-32: Start out cr0 clean, disable paging before modifying cr3/4

    Linus Torvalds
     
  • Originally 'efi_enabled' indicated whether a kernel was booted from
    EFI firmware. Over time its semantics have changed, and it now
    indicates whether or not we are booted on an EFI machine with
    bit-native firmware, e.g. 64-bit kernel with 64-bit firmware.

    The immediate motivation for this patch is the bug report at,

    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557

    which details how running a platform driver on an EFI machine that is
    designed to run under BIOS can cause the machine to become
    bricked. Also, the following report,

    https://bugzilla.kernel.org/show_bug.cgi?id=47121

    details how running said driver can also cause Machine Check
    Exceptions. Drivers need a new means of detecting whether they're
    running on an EFI machine, as sadly the expression,

    if (!efi_enabled)

    hasn't been a sufficient condition for quite some time.

    Users actually want to query 'efi_enabled' for different reasons -
    what they really want access to is the list of available EFI
    facilities.

    For instance, the x86 reboot code needs to know whether it can invoke
    the ResetSystem() function provided by the EFI runtime services, while
    the ACPI OSL code wants to know whether the EFI config tables were
    mapped successfully. There are also checks in some of the platform
    driver code to simply see if they're running on an EFI machine (which
    would make it a bad idea to do BIOS-y things).

    This patch is a prereq for the samsung-laptop fix patch.

    Cc: David Airlie
    Cc: Corentin Chary
    Cc: Matthew Garrett
    Cc: Dave Jiang
    Cc: Olof Johansson
    Cc: Peter Jones
    Cc: Colin Ian King
    Cc: Steve Langasek
    Cc: Tony Luck
    Cc: Konrad Rzeszutek Wilk
    Cc: Rafael J. Wysocki
    Cc:
    Signed-off-by: Matt Fleming
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

29 Jan, 2013

2 commits

  • Pull MFD fixes from Samuel Ortiz:
    "This is the first pull request for MFD fixes for 3.8

    We have some build failure fixes (twl4030, vexpress, abx500 and
    tps65910), some actual runtime oops and lockup fixes (rtsx, da9052),
    and some more hypothetical NULL pointers dereferences fixes for
    pcf50633 and max776xx.

    Then we also have additional rtsx fixes for a correct switch output
    voltage and clock divider correctness for rtl8411 (rtsx driver), and
    irqdomain fix for db8550-prcmu, and some more cosmetic fixes for
    arizona and wm5102."

    * tag 'mfd-for-linus-3.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed
    mfd: wm5102: Fix definition of WM5102_MAX_REGISTER
    mfd: twl4030: Don't warn about uninitialized return code
    mfd: da9052/53 lockup fix
    mfd: rtsx: Add clock divider hook
    mmc: rtsx: Call MFD hook to switch output voltage
    mfd: rtsx: Add output voltage switch hook
    mfd: Fix compile errors and warnings when !CONFIG_AB8500_BM
    mfd: vexpress: Export global functions to fix build error
    mfd: arizona: Check errors from regcache_sync()
    mfd: tc3589x: Use simple irqdomain
    mfd: pcf50633: Init pcf->dev before using it
    mfd: max77693: Init max77693->dev before using it
    mfd: max77686: Init max77686->dev before using it
    mfd: db8500-prcmu: Fix irqdomain usage
    mfd: tps65910: Select REGMAP_IRQ in Kconfig to fix build error
    mfd: arizona: Disable control interface reporting for WM5102 and WM5110

    Linus Torvalds
     
  • Pull networking updates from David Miller:
    "Much more accumulated than I would have liked due to an unexpected
    bout with a nasty flu:

    1) AH and ESP input don't set ECN field correctly because the
    transport head of the SKB isn't set correctly, fix from Li
    RongQing.

    2) If netfilter conntrack zones are disabled, we can return an
    uninitialized variable instead of the proper error code. Fix from
    Borislav Petkov.

    3) Fix double SKB free in ath9k driver beacon handling, from Felix
    Feitkau.

    4) Remove bogus assumption about netns cleanup ordering in
    nf_conntrack, from Pablo Neira Ayuso.

    5) Remove a bogus BUG_ON in the new TCP fastopen code, from Eric
    Dumazet. It uses spin_is_locked() in it's test and is therefore
    unsuitable for UP.

    6) Fix SELINUX labelling regressions added by the tuntap multiqueue
    changes, from Paul Moore.

    7) Fix CRC errors with jumbo frame receive in tg3 driver, from Nithin
    Nayak Sujir.

    8) CXGB4 driver sets interrupt coalescing parameters only on first
    queue, rather than all of them. Fix from Thadeu Lima de Souza
    Cascardo.

    9) Fix regression in the dispatch of read/write registers in dm9601
    driver, from Tushar Behera.

    10) ipv6_append_data miscalculates header length, from Romain KUNTZ.

    11) Fix PMTU handling regressions on ipv4 routes, from Steffen
    Klassert, Timo Teräs, and Julian Anastasov.

    12) In 3c574_cs driver, add necessary parenthesis to "x << y & z"
    expression. From Nickolai Zeldovich.

    13) macvlan_get_size() causes underallocation netlink message space,
    fix from Eric Dumazet.

    14) Avoid division by zero in xfrm_replay_advance_bmp(), from Nickolai
    Zeldovich. Amusingly the zero check was already there, we were
    just performing it after the modulus :-)

    15) Some more splice bug fixes from Eric Dumazet, which fix things
    mostly eminating from how we now more aggressively use high-order
    pages in SKBs.

    16) Fix size calculation bug when freeing hash tables in the IPSEC
    xfrm code, from Michal Kubecek.

    17) Fix PMTU event propagation into socket cached routes, from Steffen
    Klassert.

    18) Fix off by one in TX buffer release in netxen driver, from Eric
    Dumazet.

    19) Fix rediculous memory allocation requirements introduced by the
    tuntap multiqueue changes, from Jason Wang.

    20) Remove bogus AMD platform workaround in r8169 driver that causes
    major problems in normal operation, from Timo Teräs.

    21) virtio-net set affinity and select queue don't handle
    discontiguous cpu numbers properly, fix from Wanlong Gao.

    22) Fix a route refcounting issue in loopback driver, from Eric
    Dumazet. There's a similar fix coming that we might add to the
    macvlan driver as well.

    23) Fix SKB leaks in batman-adv's distributed arp table code, from
    Matthias Schiffer.

    24) r8169 driver gives descriptor ownership back the hardware before
    we're done reading the VLAN tag out of it, fix from Francois
    Romieu.

    25) Checksums not calculated properly in GRE tunnel driver fix from
    Pravin B Shelar.

    26) Fix SCTP memory leak on namespace exit."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
    dm9601: support dm9620 variant
    SCTP: Free the per-net sysctl table on net exit. v2
    net: phy: icplus: fix broken INTR pin settings
    net: phy: icplus: Use the RGMII interface mode to configure clock delays
    IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
    sctp: set association state to established in dupcook_a handler
    ip6mr: limit IPv6 MRT_TABLE identifiers
    r8169: fix vlan tag read ordering.
    net: cdc_ncm: use IAD provided by the USB core
    batman-adv: filter ARP packets with invalid MAC addresses in DAT
    batman-adv: check for more types of invalid IP addresses in DAT
    batman-adv: fix skb leak in batadv_dat_snoop_incoming_arp_reply()
    net: loopback: fix a dst refcounting issue
    virtio-net: reset virtqueue affinity when doing cpu hotplug
    virtio-net: split out clean affinity function
    virtio-net: fix the set affinity bug when CPU IDs are not consecutive
    can: pch_can: fix invalid error codes
    can: ti_hecc: fix invalid error codes
    can: c_can: fix invalid error codes
    r8169: remove the obsolete and incorrect AMD workaround
    ...

    Linus Torvalds
     

27 Jan, 2013

3 commits

  • An issue has been reported where the PMIC either locks up or fails to
    respond following a system Reset. This could result in a second write
    in which the bus writes the current content of the write buffer to address
    of the last I2C access.

    The failure case is where this unwanted write transfers incorrect data to
    a critical register.

    This patch fixes this issue to by following any read or write with a dummy read
    to a safe register address. A safe register address is one where the contents
    will not affect the operation of the system.

    Signed-off-by: Ashish Jangam
    Signed-off-by: Samuel Ortiz

    Ashish Jangam
     
  • Add callback function conv_clk_and_div_n to convert between SSC clock
    and its divider N.
    For rtl8411, the formula to calculate SSC clock divider N is different
    with the other card reader models.

    Signed-off-by: Wei WANG
    Signed-off-by: Samuel Ortiz

    Wei WANG
     
  • Different card reader has different method to switch output voltage,
    add this callback to let the card reader implement its individual switch
    function.
    This is needed as rtl8411 has a specific switch output voltage procedure.

    Signed-off-by: Wei WANG
    Signed-off-by: Samuel Ortiz

    Wei WANG
     

25 Jan, 2013

1 commit

  • Pull ARM SoC fixes from Olof Johansson:
    "Here's a long-pending fixes pull request for arm-soc (I didn't send
    one in the -rc4 cycle).

    The larger deltas are from:

    - A fixup of error paths in the mvsdio driver

    - Header file move for a driver that hadn't been properly converted
    to multiplatform on i.MX, which was causing build failures when
    included

    - Device tree updates for at91 dealing mostly with their new pinctrl
    setup merged in 3.8 and mistakes in those initial configs

    The rest are the normal mix of small fixes all over the place; sunxi,
    omap, imx, mvebu, etc, etc."

    * tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
    mfd: vexpress-sysreg: Don't skip initialization on probe
    ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
    ARM: vexpress: extend the MPIDR range used for pen release check
    ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
    ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
    ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
    ARM: at91/dts: add macb mii pinctrl config for kizbox
    ARM: at91: rm9200: remake the BGA as default version
    ARM: at91: fix gpios on i2c-gpio for RM9200 DT
    ARM: at91/at91sam9x5 DTS: add SCK USART pins
    ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
    ARM: at91/at91-pinctrl documentation: fix typo and add some details
    ARM: kirkwood: fix missing #interrupt-cells property
    mmc: mvsdio: use devm_ API to simplify/correct error paths.
    clk: mvebu/clk-cpu.c: fix memory leakage
    ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
    ARM: OMAP2+: DT node Timer iteration fix
    ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
    ARM: OMAP2+: fix build break for omapdrm
    ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
    ...

    Linus Torvalds
     

24 Jan, 2013

1 commit


23 Jan, 2013

4 commits

  • …/kernel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    Minimal omap fixes for the -rc series:

    - A build fix for recently merged omap DRM changes

    - Regression fixes from the common clock framework conversion
    for omap4 audio and omap2 reboot

    - Regression fix for pandaboard WLAN control UART muxing caused by
    u-boot only muxing essential pins nowadays

    - Timer iteration fix for CONFIG_OF_DYNAMIC

    - A section mismatch fix for ocp2scp init

    * tag 'omap-for-v3.8-rc4/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (306 commits)
    ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
    ARM: OMAP2+: DT node Timer iteration fix
    ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
    ARM: OMAP2+: fix build break for omapdrm
    ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
    ARM: OMAP4: hwmod_data: Correct IDLEMODE for McPDM
    ARM: OMAP4: clock data: Lock ABE DPLL on all revisions
    + Linux 3.8-rc4

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Pull libata fixes from Jeff Garzik:

    1) ahci: Fix typo that caused erronenous error handling.

    Thought: I wonder if sparse could have caught this, somehow.

    2) ahci: support a slightly odd Enmotus variant

    3) core: fix a drive detection problem by correcting the logic by which
    the DevSlp timing variables are obtained and used.

    * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] replace sata_settings with devslp_timing
    [libata] ahci: Add support for Enmotus Bobcat device.
    [libata] ahci: Fix lack of command retry after a success error handler.

    Linus Torvalds
     
  • Cleanup and preparation for the next change.

    signal_wake_up(resume => true) is overused. None of ptrace/jctl callers
    actually want to wakeup a TASK_WAKEKILL task, but they can't specify the
    necessary mask.

    Turn signal_wake_up() into signal_wake_up_state(state), reintroduce
    signal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()
    which adds __TASK_TRACED.

    This way ptrace_signal_wake_up() can work "inside" ptrace_request()
    even if the tracee doesn't have the TASK_WAKEKILL bit set.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • drivers/mfd/ab8500-core.c:1015:21: error: ‘ab8500_bm_data’ undeclared here

    include/linux/mfd/abx500/ab8500-bm.h:445:13: warning: ‘ab8500_fg_reinit’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:448:13: warning: ‘ab8500_charger_usb_state_changed’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:451:29: warning: ‘ab8500_btemp_get’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:455:12: warning: ‘ab8500_btemp_get_batctrl_temp’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:463:12: warning: ‘ab8500_fg_inst_curr_blocking’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:442:12: warning: ‘ab8500_fg_inst_curr_done’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:447:26: warning: ‘ab8500_fg_get’ defined but not used

    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Lee Jones
     

22 Jan, 2013

3 commits


21 Jan, 2013

3 commits

  • Pull module fixes and a virtio block fix from Rusty Russell:
    "Various minor fixes, but a slightly more complex one to fix the
    per-cpu overload problem introduced recently by kvm id changes."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    module: put modules in list much earlier.
    module: add new state MODULE_STATE_UNFORMED.
    module: prevent warning when finit_module a 0 sized file
    virtio-blk: Don't free ida when disk is in use

    Linus Torvalds
     
  • Pull misc syscall fixes from Al Viro:

    - compat syscall fixes (discussed back in December)

    - a couple of "make life easier for sigaltstack stuff by reducing
    inter-tree dependencies"

    - fix up compiler/asmlinkage calling convention disagreement of
    sys_clone()

    - misc

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    sys_clone() needs asmlinkage_protect
    make sure that /linuxrc has std{in,out,err}
    x32: fix sigtimedwait
    x32: fix waitid()
    switch compat_sys_wait4() and compat_sys_waitid() to COMPAT_SYSCALL_DEFINE
    switch compat_sys_sigaltstack() to COMPAT_SYSCALL_DEFINE
    CONFIG_GENERIC_SIGALTSTACK build breakage with asm-generic/syscalls.h
    Ensure that kernel_init_freeable() is not inlined into non __init code

    Linus Torvalds
     
  • The ia64 function "thread_matches()" has no users since commit
    e868a55c2a8c ("[IA64] remove find_thread_for_addr()"). Remove it.

    This allows us to make ptrace_check_attach() static to kernel/ptrace.c,
    which is good since we'll need to change the semantics of it and fix up
    all the callers.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     

19 Jan, 2013

2 commits

  • Pull tty/serial fixes from Greg Kroah-Hartman:
    "Here are a few tty/serial driver fixes for 3.8-rc4 that resolve a
    number of problems that people have been having, including the ptys
    ioctl issue that is a regression fix"

    * tag 'tty-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    8250/16?50: Add support for Broadcom TruManage redirected serial port
    pty: return EINVAL for TIOCGPTN for BSD ptys
    serial:ifx6x60:Keep word size accordance with SPI controller
    tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler
    serial: samsung: remove redundant setting of line config during port reset
    serial:ifx6x60:Delete SPI timer when shut down port
    tty/8250: The correct device id for this card is 0x0022
    tty/8250: pbn_b0_8_1152000_200 is supposed to be an 8 port definition
    tty: serial: vt8500: fix return value check in vt8500_serial_probe()
    serial: mxs-auart: Index is unsigned
    mxs: uart: fix setting RTS from software

    Linus Torvalds
     
  • Commit 816422ad7647 ("asm-generic, mm: pgtable: consolidate zero page
    helpers") broke the compile on MIPS if SPARSEMEM is enabled. We get
    this:

    In file included from arch/mips/include/asm/pgtable.h:552,
    from include/linux/mm.h:44,
    from arch/mips/kernel/asm-offsets.c:14:
    include/asm-generic/pgtable.h: In function 'my_zero_pfn':
    include/asm-generic/pgtable.h:466: error: implicit declaration of function 'page_to_section'
    In file included from arch/mips/kernel/asm-offsets.c:14:
    include/linux/mm.h: At top level:
    include/linux/mm.h:738: error: conflicting types for 'page_to_section'
    include/asm-generic/pgtable.h:466: note: previous implicit declaration of 'page_to_section' was here

    Due header files inter-dependencies, the only way I see to fix it is
    convert my_zero_pfn() for __HAVE_COLOR_ZERO_PAGE to macros.

    Signed-off-by: Kirill A. Shutemov
    Tested-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

18 Jan, 2013

1 commit

  • Add support for the UART device present in Broadcom TruManage capable
    NetXtreme chips (ie: 5761m 5762, and 5725).

    This implementation has a hidden transmit FIFO, so running in single-byte
    interrupt mode results in too many interrupts. The UART_CAP_HFIFO
    capability was added to track this. It continues to reload the THR as long
    as the THRE and TSRE bits are set in the LSR up to a specified limit (1024
    is used here).

    Signed-off-by: Stephen Hurd
    Signed-off-by: Michael Chan
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Stephen Hurd
     

17 Jan, 2013

4 commits

  • Pull ACPI and power management fixes from Rafael Wysocki:

    - cpuidle regression fix related to the initialization of state
    kobjects from Krzysztof Mazur.

    - cpuidle fix removing some not very useful code and making some
    user-visible problems go away at the same time. From Daniel Lezcano.

    - ACPI build fix from Yinghai Lu.

    * tag 'pm+acpi-for-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpuidle: remove the power_specified field in the driver
    ACPI / glue: Fix build with ACPI_GLUE_DEBUG set
    cpuidle: fix number of initialized/destroyed states

    Linus Torvalds
     
  • Commit 1b963c81b145 ("lockdep, rwsem: provide down_write_nest_lock()")
    contains a bug in a codepath when CONFIG_DEBUG_LOCK_ALLOC is disabled,
    which causes down_read() to be called instead of down_write() by mistake
    on such configurations. Fix that.

    Reported-and-tested-by: Andrew Clayton
    Reported-and-tested-by: Zlatko Calusic
    Signed-off-by: Jiri Kosina
    Reviewed-by: Rik van Riel
    Signed-off-by: Linus Torvalds

    Jiri Kosina
     
  • Pull scsi target fixes from Nicholas Bellinger:
    "This includes an important >= v3.6 regression bugfix for active I/O
    shutdown (Roland), some TMR related failure / corner cases fixes for
    long outstanding I/O (Roland), two FCoE target mode fabric fabric role
    fixes (MDR), a fix for an incorrect sense code during LUN
    communication failure (Dr. Hannes), plus a handful of other minor
    fixes.

    There are still some outstanding zero-length control CDB regression
    fixes that need to be addressed for v3.8, that will be coming in a
    follow-up PULL request."

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iscsi-target: Fix CmdSN comparison (use cmd->cmd_sn instead of cmd->stat_sn)
    target: Release se_cmd when LUN lookup fails for TMR
    target: Fix use-after-free in LUN RESET handling
    target: Fix missing CMD_T_ACTIVE bit regression for pending WRITEs
    tcm_fc: Do not report target role when target is not defined
    tcm_fc: Do not indicate retry capability to initiators
    target: Use TCM_NO_SENSE for initialisation
    target: Introduce TCM_NO_SENSE
    target: use correct sense code for LUN communication failure

    Linus Torvalds
     
  • If the default iosched is built as module, the kernel may deadlock
    while trying to load the iosched module on device probe if the probing
    was running off async. This is because async_synchronize_full() at
    the end of module init ends up waiting for the async job which
    initiated the module loading.

    async A modprobe

    1. finds a device
    2. registers the block device
    3. request_module(default iosched)
    4. modprobe in userland
    5. load and init module
    6. async_synchronize_full()

    Async A waits for modprobe to finish in request_module() and modprobe
    waits for async A to finish in async_synchronize_full().

    Because there's no easy to track dependency once control goes out to
    userland, implementing properly nested flushing is difficult. For
    now, make module init perform async_synchronize_full() iff module init
    has queued async jobs as suggested by Linus.

    This avoids the described deadlock because iosched module doesn't use
    async and thus wouldn't invoke async_synchronize_full(). This is
    hacky and incomplete. It will deadlock if async module loading nests;
    however, this works around the known problem case and seems to be the
    best of bad options.

    For more details, please refer to the following thread.

    http://thread.gmane.org/gmane.linux.kernel/1420814

    Signed-off-by: Tejun Heo
    Reported-by: Alex Riesen
    Tested-by: Ming Lei
    Tested-by: Alex Riesen
    Cc: Arjan van de Ven
    Cc: Jens Axboe
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

15 Jan, 2013

6 commits

  • We realized that the power usage field is never filled and when it
    is filled for tegra, the power_specified flag is not set causing all
    of these values to be reset when the driver is initialized with
    set_power_state().

    However, the power_specified flag can be simply removed under the
    assumption that the states are always backward sorted, which is the
    case with the current code.

    This change allows the menu governor select function and the
    cpuidle_play_dead() to be simplified. Moreover, the
    set_power_states() function can removed as it does not make sense
    any more.

    Drop the power_specified flag from struct cpuidle_driver and make
    the related changes as described above.

    As a consequence, this also fixes the bug where on the dynamic
    C-states system, the power fields are not initialized.

    [rjw: Changelog]
    References: https://bugzilla.kernel.org/show_bug.cgi?id=42870
    References: https://bugzilla.kernel.org/show_bug.cgi?id=43349
    References: https://lkml.org/lkml/2012/10/16/518
    Signed-off-by: Daniel Lezcano
    Signed-off-by: Rafael J. Wysocki

    Daniel Lezcano
     
  • Pablo Neira Ayuso says:

    ====================
    The following patchset contains netfilter fixes for 3.8-rc3,
    they are:

    * fix possible BUG_ON if several netns are in use and the nf_conntrack
    module is removed, initial patch from Gao feng, final patch from myself.

    * fix unset return value if conntrack zone are disabled at
    compile-time, reported by Borislav Petkov, fix from myself.

    * fix display error message via dmesg for arp_tables, from Jan Engelhardt.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch corrects some problems with LSM/SELinux that were introduced
    with the multiqueue patchset. The problem stems from the fact that the
    multiqueue work changed the relationship between the tun device and its
    associated socket; before the socket persisted for the life of the
    device, however after the multiqueue changes the socket only persisted
    for the life of the userspace connection (fd open). For non-persistent
    devices this is not an issue, but for persistent devices this can cause
    the tun device to lose its SELinux label.

    We correct this problem by adding an opaque LSM security blob to the
    tun device struct which allows us to have the LSM security state, e.g.
    SELinux labeling information, persist for the lifetime of the tun
    device. In the process we tweak the LSM hooks to work with this new
    approach to TUN device/socket labeling and introduce a new LSM hook,
    security_tun_dev_attach_queue(), to approve requests to attach to a
    TUN queue via TUNSETQUEUE.

    The SELinux code has been adjusted to match the new LSM hooks, the
    other LSMs do not make use of the LSM TUN controls. This patch makes
    use of the recently added "tun_socket:attach_queue" permission to
    restrict access to the TUNSETQUEUE operation. On older SELinux
    policies which do not define the "tun_socket:attach_queue" permission
    the access control decision for TUNSETQUEUE will be handled according
    to the SELinux policy's unknown permission setting.

    Signed-off-by: Paul Moore
    Acked-by: Eric Paris
    Tested-by: Jason Wang
    Signed-off-by: David S. Miller

    Paul Moore
     
  • Pull sound fixes from Takashi Iwai:
    "Most of commits found here are for ASoC device specific fixes,
    arizona, cs4271, wm5102, wm2200, etc, in addition to a couple of
    memory leak fixes in ASoC core.

    Other than that, regression fixes in HD-audio and USB-audio, and a fix
    for new Realtek codecs."

    * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits)
    ALSA: usb-audio: Fix NULL dereference by access to non-existing substream
    ALSA: hda - Add support of new codec ALC284
    ALSA: usb-audio: Make ebox44_table static
    ALSA: hdspm - Fix wordclock status on AES32
    Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"
    ALSA: hda - Disable runtime D3 for Intel CPT & co
    ALSA: pxa27x: fix ac97 warm reset
    ALSA: pxa27x: fix ac97 cold reset
    ASoC: wm_adsp: Ensure that block writes are from DMA aligned addresses
    ASoC: wm2000: Fix sense of speech clarity enable
    ASoC: wm5100: Remove DSP B and left justified formats
    ASoC: arizona: Remove DSP B and left justified AIF modes
    ASoC: wm2200: Remove DSP B and left justified AIF modes
    ASoC: wm5102: Improve speaker enable performance
    ASoC: core: fix the memory leak in case of remove_aux_dev()
    ASoC: core: fix the memory leak in case of device_add() failure
    ASoC: cs42l52: Catch no-match case in cs42l52_get_clk
    ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-B
    ASoC: lm49453: Fix adc, mic and sidetone volume ranges
    ASoC: arizona: Correct FLL source definitions
    ...

    Linus Torvalds
     
  • NCQ capability was used to check availability of SATA Settings page
    from Identify Device Data Log, which contains DevSlp timing variables.
    It does not work on some HDDs and leads to error messages.

    IDENTIFY word 78 bit 5(Hardware Feature Control) can't work either
    because it is only the sufficient condition of Identify Device data
    log, not the necessary condition.

    This patch replaced ata_device->sata_settings with ->devslp_timing
    to only save DevSlp timing variables(8 bytes), instead of the whole
    SATA Settings page(512 bytes).

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=51881

    Reported-by: Borislav Petkov
    Signed-off-by: Shane Huang
    Cc: stable@vger.kernel.org
    Signed-off-by: Jeff Garzik

    Shane Huang
     
  • Pull driver core fixes from Greg Kroah-Hartman:
    "Here are two patches for 3.8-rc3.

    One removes the __dev* defines from init.h now that all usages of it
    are gone from your tree. The other fix is for debugfs's paramater
    that was using the wrong base for the option.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    debugfs: convert gid= argument from decimal, not octal
    Remove __dev* markings from init.h

    Linus Torvalds