08 Jun, 2009

1 commit


04 Jun, 2009

3 commits

  • Add some blurb about /dev/rfkill to the documentation and
    fix the "transmiter" spelling error.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • The new code added by this patch will make rfkill create
    a misc character device /dev/rfkill that userspace can use
    to control rfkill soft blocks and get status of devices as
    well as events when the status changes.

    Using it is very simple -- when you open it you can read
    a number of times to get the initial state, and every
    further read blocks (you can poll) on getting the next
    event from the kernel. The same structure you read is
    also used when writing to it to change the soft block of
    a given device, all devices of a given type, or all
    devices.

    This also makes CONFIG_RFKILL_INPUT selectable again in
    order to be able to test without it present since its
    functionality can now be replaced by userspace entirely
    and distros and users may not want the input part of
    rfkill interfering with their userspace code. We will
    also write a userspace daemon to handle all that and
    consequently add the input code to the feature removal
    schedule.

    In order to have rfkilld support both kernels with and
    without CONFIG_RFKILL_INPUT (or new kernels after its
    eventual removal) we also add an ioctl (that only exists
    if rfkill-input is present) to disable rfkill-input.
    It is not very efficient, but at least gives the correct
    behaviour in all cases.

    Signed-off-by: Johannes Berg
    Acked-by: Marcel Holtmann
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This patch completely rewrites the rfkill core to address
    the following deficiencies:

    * all rfkill drivers need to implement polling where necessary
    rather than having one central implementation

    * updating the rfkill state cannot be done from arbitrary
    contexts, forcing drivers to use schedule_work and requiring
    lots of code

    * rfkill drivers need to keep track of soft/hard blocked
    internally -- the core should do this

    * the rfkill API has many unexpected quirks, for example being
    asymmetric wrt. alloc/free and register/unregister

    * rfkill can call back into a driver from within a function the
    driver called -- this is prone to deadlocks and generally
    should be avoided

    * rfkill-input pointlessly is a separate module

    * drivers need to #ifdef rfkill functions (unless they want to
    depend on or select RFKILL) -- rfkill should provide inlines
    that do nothing if it isn't compiled in

    * the rfkill structure is not opaque -- drivers need to initialise
    it correctly (lots of sanity checking code required) -- instead
    force drivers to pass the right variables to rfkill_alloc()

    * the documentation is hard to read because it always assumes the
    reader is completely clueless and contains way TOO MANY CAPS

    * the rfkill code needlessly uses a lot of locks and atomic
    operations in locked sections

    * fix LED trigger to actually change the LED when the radio state
    changes -- this wasn't done before

    Tested-by: Alan Jenkins
    Signed-off-by: Henrique de Moraes Holschuh [thinkpad]
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Jun, 2009

2 commits

  • Add 'autoconf' and 'disable_ipv6' parameters to the IPv6 module.

    The first controls if IPv6 addresses are autoconfigured from
    prefixes received in Router Advertisements. The IPv6 loopback
    (::1) and link-local addresses are still configured.

    The second controls if IPv6 addresses are desired at all. No
    IPv6 addresses will be added to any interfaces.

    Signed-off-by: Brian Haley
    Signed-off-by: David S. Miller

    Brian Haley
     
  • This patch adds a generic driver for SJA1000 chips on the OpenFirmware
    platform bus found on embedded PowerPC systems. You need a SJA1000 node
    definition in your flattened device tree source (DTS) file similar to:

    can@3,100 {
    compatible = "nxp,sja1000";
    reg = ;
    interrupts = ;
    interrupt-parent = ;
    nxp,external-clock-frequency = ;
    };

    See also Documentation/powerpc/dts-bindings/can/sja1000.txt.

    CC: devicetree-discuss@ozlabs.org
    Signed-off-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     

21 May, 2009

1 commit

  • Moving information from config_interface to bss_info_changed
    removed struct ieee80211_if_conf which the documentation still
    refers to, additionally there's one kernel-doc description too
    much and one other missing, fix all this.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

19 May, 2009

3 commits


18 May, 2009

3 commits


15 May, 2009

3 commits


09 May, 2009

1 commit


07 May, 2009

2 commits

  • Change last "i386" to X86-32 as is used throughout the rest of the file.
    Change combination of X86-32,X86-64 to just X86, as is done throughout the
    rest of the file.

    Add a note that hyphens and underscores are equivalent in parameter names,
    with examples.

    Signed-off-by: Randy Dunlap
    Cc: Jan Engelhardt
    Cc: Christopher Sylvain
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • kernel boot parameter `hashdist' now defaults on for all 64bit NUMA.

    Signed-off-by: Hugh Dickins
    Acked-by: Mel Gorman
    Acked-by: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

06 May, 2009

1 commit


05 May, 2009

1 commit

  • This should be very safe compared with full enabled, so I see
    no reason why it shouldn't be done right away. As ECN can only
    be negotiated if the SYN sending party is also supporting it,
    somebody in the loop probably knows what he/she is doing. If
    SYN does not ask for ECN, the server side SYN-ACK is identical
    to what it is without ECN. Thus it's quite safe.

    The chosen value is safe w.r.t to existing configs which
    choose to currently set manually either 0 or 1 but
    silently upgrades those who have not explicitly requested
    ECN off.

    Whether to just enable both sides comes up time to time but
    unless that gets done now we can at least make the servers
    aware of ECN already. As there are some known problems to occur
    if ECN is enabled, it's currently questionable whether there's
    any real gain from enabling clients as servers mostly won't
    support it anyway (so we'd hit just the negative sides). After
    enabling the servers and getting that deployed, the client end
    enable really has some potential gain too.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     

03 May, 2009

5 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: document the multi-touch (MT) protocol
    Input: add detailed multi-touch finger data report protocol
    Input: allow certain EV_ABS events to bypass all filtering
    Input: bcm5974 - add documentation for the driver
    Input: bcm5974 - augment debug information
    Input: bcm5974 - Add support for the Macbook 5 (Unibody)
    Input: bcm5974 - add quad-finger tapping
    Input: bcm5974 - prepare for a new trackpad header type
    Input: appletouch - fix DMA to/from stack buffer
    Input: wacom - fix TabletPC touch bug
    Input: lifebook - add DMI entry for Fujitsu B-2130
    Input: ALPS - add signature for Toshiba Satellite Pro M10
    Input: elantech - make sure touchpad is really in absolute mode
    Input: elantech - provide a workaround for jumpy cursor on firmware 2.34
    Input: ucb1400 - use disable_irq_nosync() in irq handler
    Input: tsc2007 - use disable_irq_nosync() in irq handler
    Input: sa1111ps2 - use disable_irq_nosync() in irq handlers
    Input: omap-keypad - use disable_irq_nosync() in irq handler

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    kbuild, modpost: Check the section flags, to catch missing "ax"/"aw"
    kbuild: fix comment in modpost.c
    kbuild: fix scripts/setlocalversion with git
    kbuild: fix Module.markers permission error under cygwin
    docs: also clean index.html
    kbuild: remove a tag file before it is regenerated
    kbuild: "make prepare" should be "make modules_prepare"
    kbuild: clean Module.markers and modules.order for out-of-tree modules
    avr32: drop unused CLEAN_FILES

    Linus Torvalds
     
  • Avoid setting less than two pages for vm_dirty_bytes: this is necessary to
    avoid potential division by 0 (like the following) in get_dirty_limits().

    [ 49.951610] divide error: 0000 [#1] PREEMPT SMP
    [ 49.952195] last sysfs file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/uevent
    [ 49.952195] CPU 1
    [ 49.952195] Modules linked in: pcspkr
    [ 49.952195] Pid: 3064, comm: dd Not tainted 2.6.30-rc3 #1
    [ 49.952195] RIP: 0010:[] [] get_dirty_limits+0xe9/0x2c0
    [ 49.952195] RSP: 0018:ffff88001de03a98 EFLAGS: 00010202
    [ 49.952195] RAX: 00000000000000c0 RBX: ffff88001de03b80 RCX: 28f5c28f5c28f5c3
    [ 49.952195] RDX: 0000000000000000 RSI: 00000000000000c0 RDI: 0000000000000000
    [ 49.952195] RBP: ffff88001de03ae8 R08: 0000000000000000 R09: 0000000000000000
    [ 49.952195] R10: ffff88001ddda9a0 R11: 0000000000000001 R12: 0000000000000001
    [ 49.952195] R13: ffff88001fbc8218 R14: ffff88001de03b70 R15: ffff88001de03b78
    [ 49.952195] FS: 00007fe9a435b6f0(0000) GS:ffff8800025d9000(0000) knlGS:0000000000000000
    [ 49.952195] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 49.952195] CR2: 00007fe9a39ab000 CR3: 000000001de38000 CR4: 00000000000006e0
    [ 49.952195] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 49.952195] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [ 49.952195] Process dd (pid: 3064, threadinfo ffff88001de02000, task ffff88001ddda250)
    [ 49.952195] Stack:
    [ 49.952195] ffff88001fa0de00 ffff88001f2dbd70 ffff88001f9fe800 000080b900000000
    [ 49.952195] 00000000000000c0 ffff8800027a6100 0000000000000400 ffff88001fbc8218
    [ 49.952195] 0000000000000000 0000000000000600 ffff88001de03bb8 ffffffff802d3ed7
    [ 49.952195] Call Trace:
    [ 49.952195] [] balance_dirty_pages_ratelimited_nr+0x1d7/0x3f0
    [ 49.952195] [] ? ext3_writeback_write_end+0x9e/0x120
    [ 49.952195] [] generic_file_buffered_write+0x12f/0x330
    [ 49.952195] [] __generic_file_aio_write_nolock+0x26d/0x460
    [ 49.952195] [] ? generic_file_aio_write+0x52/0xd0
    [ 49.952195] [] generic_file_aio_write+0x69/0xd0
    [ 49.952195] [] ext3_file_write+0x26/0xc0
    [ 49.952195] [] do_sync_write+0xf1/0x140
    [ 49.952195] [] ? get_lock_stats+0x2a/0x60
    [ 49.952195] [] ? autoremove_wake_function+0x0/0x40
    [ 49.952195] [] vfs_write+0xcb/0x190
    [ 49.952195] [] sys_write+0x50/0x90
    [ 49.952195] [] system_call_fastpath+0x16/0x1b
    [ 49.952195] Code: 00 00 00 2b 05 09 1c 17 01 48 89 c6 49 0f af f4 48 c1 ee 02 48 89 f0 48 f7 e1 48 89 d6 31 d2 48 c1 ee 02 48 0f af 75 d0 48 89 f0 f7 f7 41 8b 95 ac 01 00 00 48 89 c7 49 0f af d4 48 c1 ea 02
    [ 49.952195] RIP [] get_dirty_limits+0xe9/0x2c0
    [ 49.952195] RSP
    [ 50.096523] ---[ end trace 008d7aa02f244d7b ]---

    Signed-off-by: Andrea Righi
    Cc: Peter Zijlstra
    Cc: David Rientjes
    Cc: Dave Chinner
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Righi
     
  • scripts/kernel-doc can (incorrectly) delete struct members that are
    surrounded by /* ... */ /* ... */ if there is a /*
    private: */ comment in there somewhere also.

    Fix that by making the "/* private:" only allow whitespace between /* and
    "private:", not anything/everything in the world.

    This fixes some erroneous kernel-doc warnings that popped up while
    processing include/linux/usb/composite.h.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Change page_mkwrite to allow implementations to return with the page
    locked, and also change it's callers (in page fault paths) to hold the
    lock until the page is marked dirty. This allows the filesystem to have
    full control of page dirtying events coming from the VM.

    Rather than simply hold the page locked over the page_mkwrite call, we
    call page_mkwrite with the page unlocked and allow callers to return with
    it locked, so filesystems can avoid LOR conditions with page lock.

    The problem with the current scheme is this: a filesystem that wants to
    associate some metadata with a page as long as the page is dirty, will
    perform this manipulation in its ->page_mkwrite. It currently then must
    return with the page unlocked and may not hold any other locks (according
    to existing page_mkwrite convention).

    In this window, the VM could write out the page, clearing page-dirty. The
    filesystem has no good way to detect that a dirty pte is about to be
    attached, so it will happily write out the page, at which point, the
    filesystem may manipulate the metadata to reflect that the page is no
    longer dirty.

    It is not always possible to perform the required metadata manipulation in
    ->set_page_dirty, because that function cannot block or fail. The
    filesystem may need to allocate some data structure, for example.

    And the VM cannot mark the pte dirty before page_mkwrite, because
    page_mkwrite is allowed to fail, so we must not allow any window where the
    page could be written to if page_mkwrite does fail.

    This solution of holding the page locked over the 3 critical operations
    (page_mkwrite, setting the pte dirty, and finally setting the page dirty)
    closes out races nicely, preventing page cleaning for writeout being
    initiated in that window. This provides the filesystem with a strong
    synchronisation against the VM here.

    - Sage needs this race closed for ceph filesystem.
    - Trond for NFS (http://bugzilla.kernel.org/show_bug.cgi?id=12913).
    - I need it for fsblock.
    - I suspect other filesystems may need it too (eg. btrfs).
    - I have converted buffer.c to the new locking. Even simple block allocation
    under dirty pages might be susceptible to i_size changing under partial page
    at the end of file (we also have a buffer.c-side problem here, but it cannot
    be fixed properly without this patch).
    - Other filesystems (eg. NFS, maybe btrfs) will need to change their
    page_mkwrite functions themselves.

    [ This also moves page_mkwrite another step closer to fault, which should
    eventually allow page_mkwrite to be moved into ->fault, and thus avoiding a
    filesystem calldown and page lock/unlock cycle in __do_fault. ]

    [akpm@linux-foundation.org: fix derefs of NULL ->mapping]
    Cc: Sage Weil
    Cc: Trond Myklebust
    Signed-off-by: Nick Piggin
    Cc: Valdis Kletnieks
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

01 May, 2009

2 commits


30 Apr, 2009

1 commit


29 Apr, 2009

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
    e100: do not go D3 in shutdown unless system is powering off
    netfilter: revised locking for x_tables
    Bluetooth: Fix connection establishment with low security requirement
    Bluetooth: Add different pairing timeout for Legacy Pairing
    Bluetooth: Ensure that HCI sysfs add/del is preempt safe
    net: Avoid extra wakeups of threads blocked in wait_for_packet()
    net: Fix typo in net_device_ops description.
    ipv4: Limit size of route cache hash table
    Add reference to CAPI 2.0 standard
    Documentation/isdn/INTERFACE.CAPI
    update Documentation/isdn/00-INDEX
    ixgbe: Fix WoL functionality for 82599 KX4 devices
    veth: prevent oops caused by netdev destructor
    xfrm: wrong hash value for temporary SA
    forcedeth: tx timeout fix
    net: Fix LL_MAX_HEADER for CONFIG_TR_MODULE
    mlx4_en: Handle page allocation failure during receive
    mlx4_en: Fix cleanup flow on cq activation
    vlan: update vlan carrier state for admin up/down
    netfilter: xt_recent: fix stack overread in compat code
    ...

    Linus Torvalds
     
  • This patch adds documentation for the bcm5974 to Documentation/input/.

    Signed-off-by: Henrik Rydberg
    Signed-off-by: Dmitry Torokhov

    Henrik Rydberg
     

28 Apr, 2009

2 commits

  • This reverts commit 8032b526d1a3bd91ad633dd3a3b5fdbc47ad54f1.

    Hey, it was only meant to be a single release. Now they can all die as
    far as I'm concerned.

    [ Just kidding. They're cute and cuddly.

    Except when they have horrible nasty facial diseases. Oh, and I guess
    they're not actually that cuddly even when disease-free. ]

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: only save/restore existent registers in the PCIe capability
    x86/PCI: don't bother with root quirks if _CRS is used
    docbooks: add/fix PCI kernel-doc
    PCI: cleanup debug output resources
    x86/PCI: set_pci_bus_resources_arch_default cleanups
    x86/PCI: Move set_pci_bus_resources_arch_default into arch/x86
    x86/PCI: don't call e820_all_mapped with -1 in the mmconfig case
    PCI quirk: disable MSI on VIA VT3364 chipsets

    Linus Torvalds
     

27 Apr, 2009

5 commits

  • Move the entry about CAPI 2.0 to the beginning and add a URL.
    Incorporate changes suggested by Randy Dunlap, thanks for proofreading.

    Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Karsten Keil
     
  • isdn: document Kernel CAPI driver interface

    Create a file Documentation/isdn/INTERFACE.CAPI describing the
    interface between the kernel CAPI subsystem and ISDN device drivers,
    analogous to the existing Documentation/isdn/INTERFACE for the old
    isdn4linux subsystem. Also add kerneldoc comments to the exported
    functions in drivers/isdn/capi/kcapi.c.

    Impact: Documentation
    Signed-off-by: Tilman Schmidt
    Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • After the merging of mISDN, state which files refer only to the
    old isdn4linux subsystem. Also add a few missing files.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • …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, hpet: Stop soliciting hpet=force users on ICH4M
    x86: check boundary in setup_node_bootmem()
    uv_time: add parameter to uv_read_rtc()
    x86: hpet: fix periodic mode programming on AMD 81xx
    x86: more than 8 32-bit CPUs requires X86_BIGSMP
    x86: avoid theoretical spurious NMI backtraces with CONFIG_CPUMASK_OFFSTACK=y
    x86: fix boot crash in NMI watchdog with CONFIG_CPUMASK_OFFSTACK=y and flat APIC
    x86-64: fix FPU corruption with signals and preemption
    x86/uv: fix for no memory at paddr 0
    docs, x86: add nox2apic back to kernel-parameters.txt
    x86: mm/numa_32.c calculate_numa_remap_pages should use __init
    x86, kbuild: make "make install" not depend on vmlinux
    x86/uv: fix init of cpu-less nodes
    x86/uv: fix init of memory-less nodes

    Linus Torvalds
     
  • From source code of get_usage_char(), the previous note is not correct,
    so fix it.

    static char get_usage_char(struct lock_class *class, enum lock_usage_bit bit)
    {
    char c = '.';

    if (class->usage_mask & lock_flag(bit + 2))/*LOCK_ENABLED_##STATE*/
    c = '+';
    if (class->usage_mask & lock_flag(bit)) {/*LOCK_USED_IN_##STATE*/
    c = '-';
    if (class->usage_mask & lock_flag(bit + 2))
    c = '?';
    }

    return c;
    }

    note:

    1) The 'bit' parameter always is passed as LOCK_USED_IN_##STATE
    or LOCK_USED_IN_##STATE_READ , from get_usage_chars().

    Signed-off-by: Ming Lei
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ming Lei
     

25 Apr, 2009

1 commit


24 Apr, 2009

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)
    ACPI, i915: Register ACPI video even when not modesetting
    Revert "ACPICA: delete check for AML access to port 0x81-83"
    I/O port protection: update for windows compatibility.
    sony-laptop: always try to unblock rfkill on load
    sony-laptop: fix bogus error message display on resume
    ACPI: EC: Fix ACPI EC resume non-query interrupt message
    sony-laptop: SNC input event 38 fix
    sony-laptop: SNC 127 Initialization Fix
    sony-laptop: Duplicate SNC 127 Event Fix
    ACPI: prevent processor.max_cstate=0 boot crash
    ACPI/hpet: prevent boot hang when hpet=force used on ICH-4M
    ACPI: delete obsolete "bus master activity" proc field
    ACPI: idle: mark_tsc_unstable() at init-time, not run-time
    ACPI: add /sys/firmware/acpi/interrupts/sci_not counter
    ACPI video: fix an error when the brightness levels on AC and on Battery are same
    acpi-cpufreq: Do not let get_measured perf depend on internal variable
    acpi-cpufreq: style-only: add parens to math expression
    acpi-cpufreq: Cleanup: Use printk_once
    x86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf
    thinkpad-acpi: bump up version to 0.23
    ...

    Linus Torvalds