29 Aug, 2008

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
    Blackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWE
    Blackfin arch: sram: use 'unsigned long' for irqflags
    Blackfin arch: let PCI depend on BROKEN
    Blackfin arch: move include/asm-blackfin header files to arch/blackfin
    Blackfin arch: fix bug - MPU crashes under stress
    Blackfin arch: Fix bug - when to rmmod the L1_module, it stucks and then reboot the board.
    Blackfin arch: dont actually need to muck with EMAC_SYSTAT for BF52x for demuxing
    Blackfin arch: Add MTD Partitions for MTD_DATAFLASH, increase max SPI SCLK

    Linus Torvalds
     
  • …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: update defconfigs
    x86: msr: fix bogus return values from rdmsr_safe/wrmsr_safe
    x86: cpuid: correct return value on partial operations
    x86: msr: correct return value on partial operations
    x86: cpuid: propagate error from smp_call_function_single()
    x86: msr: propagate errors from smp_call_function_single()
    smp: have smp_call_function_single() detect invalid CPUs

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c: Prevent log spam on some DVB adapters
    i2c: Add missing kerneldoc descriptions
    i2c: Fix device_init_wakeup place

    Linus Torvalds
     

28 Aug, 2008

3 commits

  • Add missing kernel descriptions of struct i2c_driver members.

    Signed-off-by: Jean Delvare
    Acked-by: Randy Dunlap
    Cc: David Brownell

    Jean Delvare
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits)
    sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
    sctp: correct bounds check in sctp_setsockopt_auth_key
    wan: Missing capability checks in sbni_ioctl()
    e100, fix iomap read
    qeth: preallocated header account offset
    qeth: l2 write unicast list to hardware
    qeth: use -EOPNOTSUPP instead of -ENOTSUPP.
    ibm_newemac: Don't call dev_mc_add() before device is registered
    net: don't grab a mutex within a timer context in gianfar
    forcedeth: fix checksum flag
    net/usb/mcs7830: add set_mac_address
    net/usb/mcs7830: new device IDs
    [netdrvr] smc91x: fix resource removal (null ptr deref)
    ibmveth: fix bad UDP checksums
    [netdrvr] hso: dev_kfree_skb crash fix
    [netdrvr] hso: icon 322 detection fix
    atl1: disable TSO by default
    atl1e: multistatement if missing braces
    igb: remove 82576 quad adapter
    drivers/net/skfp/ess.c: fix compile warnings
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    [PATCH] deal with the first call of ->show() generating no output
    [PATCH] fix ->llseek() for a bunch of directories
    [PATCH] fix regular readdir() and friends
    [PATCH] fix hpux_getdents()
    [PATCH] fix osf_getdirents()
    [PATCH] ntfs: use d_add_ci
    [PATCH] change d_add_ci argument ordering
    [PATCH] fix efs_lookup()
    [PATCH] proc: inode number fixlet

    Linus Torvalds
     

27 Aug, 2008

7 commits

  • Use new qdisc_root_sleeping_lock() instead of qdisc_root_lock() as
    sch_tree_lock() because this lock could be used while dev is
    deactivated, but we never need to use this with noop_qdisc as a root.

    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • While passing a qdisc root lock to gen_new_estimator() and
    gen_replace_estimator() dev could be deactivated or even before
    grafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so
    using qdisc_root_lock() is not enough. This patch adds
    qdisc_root_sleeping_lock() for this, plus additional checks, where
    necessary.

    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • They are unused and ->busy doesn't exist anymore.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Technically, the cmd_filter would be applied to other protocols though
    it's unlikely to happen. Putting SCSI stuff to request_queue is kinda
    layer violation. So let's rename it.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • cmd_filter works only for the block layer SG_IO with SCSI block
    devices. It breaks scsi/sg.c, bsg, and the block layer SG_IO with SCSI
    character devices (such as st). We hit a kernel crash with them.

    The problem is that cmd_filter code accesses to gendisk (having struct
    blk_scsi_cmd_filter) via inode->i_bdev->bd_disk. It works for only
    SCSI block device files. With character device files, inode->i_bdev
    leads you to struct cdev. inode->i_bdev->bd_disk->blk_scsi_cmd_filter
    isn't safe.

    SCSI ULDs don't expose gendisk; they keep it private. bsg needs to be
    independent on any protocols. We shouldn't change ULDs to expose their
    gendisk.

    This patch moves struct blk_scsi_cmd_filter from gendisk to
    request_queue, a common object, which eveyone can access to.

    The user interface doesn't change; users can change the filters via
    /sys/block/. gendisk has a pointer to request_queue so the cmd_filter
    code accesses to struct blk_scsi_cmd_filter.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • Signed-off-by: Bryan Wu

    Bryan Wu
     
  • Including in the user-visible part of this header has
    caused build regressions with headers from 2.6.27-rc. Move it down to
    the #ifdef __KERNEL__ part, which is the only place it's needed. Move
    some other kernel-only things down there too, while we're at it.

    Signed-off-by: David Woodhouse
    Signed-off-by: Linus Torvalds

    David Woodhouse
     

26 Aug, 2008

6 commits


25 Aug, 2008

7 commits

  • Added Intel processor SSE4.2 feature flag.

    No in-tree user at the moment, but makes the tree-merging life easier
    for the crypto tree.

    Signed-off-by: Austin Zhang
    Signed-off-by: Ingo Molnar

    Austin Zhang
     
  • The following part of commit 9ef621d3be56e1188300476a8102ff54f7b6793f
    (KVM: Support mixed endian machines) changed on the size of a struct
    that is exported to userspace:

    include/linux/kvm.h:

    @@ -318,14 +318,14 @@ struct kvm_trace_rec {
    __u32 vcpu_id;
    union {
    struct {
    - __u32 cycle_lo, cycle_hi;
    + __u64 cycle_u64;
    __u32 extra_u32[KVM_TRC_EXTRA_MAX];
    } cycle;
    struct {
    __u32 extra_u32[KVM_TRC_EXTRA_MAX];
    } nocycle;
    } u;
    -};
    +} __attribute__((packed));

    Packing a struct was the correct idea, but it packed the wrong struct.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Avi Kivity

    Adrian Bunk
     
  • vmlinux.lds expects the fixup code to be on a section named .fixup. The
    .text.fixup section is not mentioned on vmlinux.lds, and is included on
    the resulting vmlinux (just after .text) only because of ld heuristics on
    placing orphan sections.

    However, placing .text.fixup outside .text breaks the definition of
    _etext, making it exclude the .text.fixup contents. That makes .text.fixup
    be ignored by the kernel initialization code that needs to know about
    section locations, such as the code setting page protection bits.

    Signed-off-by: Eduardo Habkost
    Signed-off-by: Avi Kivity

    Eduardo Habkost
     
  • Everyone should be using stop_machine() now. The staged API
    transition helped life in linux-next.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Ingo Molnar
     
  • Bug Description:
    a customer reported under IRQ stress, running applications may
    wrongly trigger an ICPLB miss and be killed. after playing a
    bit more, here's a test case that may be triggering the same bug.

    Fixing:
    After modifying page protections, only modify the active CPLBs if the
    protection change was made for the active mm.

    Signed-off-by: Bernd Schmidt
    Signed-off-by: Bryan Wu

    Bernd Schmidt
     
  • As pointed out during review d_add_ci argument order should match d_add,
    so switch the dentry and inode arguments.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     

24 Aug, 2008

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    ipv6: protocol for address routes
    icmp: icmp_sk() should not use smp_processor_id() in preemptible code
    pkt_sched: Fix qdisc list locking
    pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race
    sctp: fix potential panics in the SCTP-AUTH API.

    Linus Torvalds
     
  • This patch lets the files using linux/version.h match the files that
    #include it.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • if get_rtc_time() is _ever_ called with IRQs off, we deadlock badly
    in it, waiting for jiffies to increment.

    So make the code more robust by doing an explicit mdelay(20).

    This solves a very hard to reproduce/debug hard lockup reported
    by Mikael Pettersson.

    Reported-by: Mikael Pettersson
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

23 Aug, 2008

1 commit

  • During CPU hot-remove the sysfs directory created by
    threshold_create_bank(), defined in
    arch/x86/kernel/cpu/mcheck/mce_amd_64.c, has to be removed before
    its parent directory, created by mce_create_device(), defined in
    arch/x86/kernel/cpu/mcheck/mce_64.c . Moreover, when the CPU in
    question is hotplugged again, obviously the latter has to be created
    before the former. At present, the right ordering is not enforced,
    because all of these operations are carried out by CPU hotplug
    notifiers which are not appropriately ordered with respect to each
    other. This leads to serious problems on systems with two or more
    multicore AMD CPUs, among other things during suspend and hibernation.

    Fix the problem by placing threshold bank CPU hotplug callbacks in
    mce_cpu_callback(), so that they are invoked at the right places,
    if defined. Additionally, use kobject_del() to remove the sysfs
    directory associated with the kobject created by
    kobject_create_and_add() in threshold_create_bank(), to prevent the
    kernel from crashing during CPU hotplug operations on systems with
    two or more multicore AMD CPUs.

    This patch fixes bug #11337.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Andi Kleen
    Tested-by: Mark Langsdorf
    Signed-off-by: Ingo Molnar

    Rafael J. Wysocki
     

22 Aug, 2008

10 commits

  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    nohz: fix wrong event handler after online an offlined cpu

    Linus Torvalds
     
  • …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: work around MTRR mask setting, v2
    x86: fix section mismatch warning - uv_cpu_init
    x86: fix VMI for early params
    x86: fix two modpost warnings in mm/init_64.c
    x86: fix 1:1 mapping init on 64-bit (memory hotplug case)
    x86: work around MTRR mask setting
    x86: PAT Update validate_pat_support for intel CPUs
    devmem, x86: PAT Change /dev/mem mmap with O_SYNC to use UC_MINUS
    x86: PAT proper tracking of set_memory_uc and friends
    x86: fix BUG: unable to handle kernel paging request (numaq_tsc_disable)
    x86: export pv_lock_ops non-GPL
    x86, mmiotrace: silence section mismatch warning - leave_uniprocessor
    x86: use WARN() in arch/x86/kernel
    x86: use WARN() in arch/x86/mm/ioremap.c
    werror: fix pci calgary
    x86: fix oprofile + hibernation badness
    x86, SGI UV: hardcode the TLB flush interrupt system vector
    x86: fix Xorg startup/shutdown slowdown with PAT
    x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)"
    x86 iommu: remove unneeded parenthesis

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] pata_it821x: fix warning
    libata: Fix a large collection of DMA mode mismatches
    ahci: sis controllers actually can do PMP
    pata_via: clean up recent tf_load changes
    libata: restore SControl on detach
    libata: use ata_link_printk() when printing SError
    libata: always do follow-up SRST if hardreset returned -EAGAIN
    libata: fix EH action overwriting in ata_eh_reset()
    sata_mv: add the Gen IIE flag to the SoC devices.
    ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs
    ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs
    sata_mv: don't issue two DMA commands concurrently
    libata: implement no[hs]rst force params

    Linus Torvalds
     
  • WARNING: vmlinux.o(.cpuinit.text+0x3cc4): Section mismatch in reference from the function uv_cpu_init() to the function .init.text:uv_system_init()
    The function __cpuinit uv_cpu_init() references
    a function __init uv_system_init().
    If uv_system_init is only used by uv_cpu_init then
    annotate uv_system_init with a matching annotation.

    uv_system_init was ment to be called only once, so do it from codepath
    (native_smp_prepare_cpus) which is called once, right before activation
    of other cpus (smp_init).

    Note: old code relied on uv_node_to_blade being initialized to 0,
    but it'a not initialized from anywhere.

    Signed-off-by: Marcin Slusarz
    Acked-by: Jack Steiner
    Signed-off-by: Ingo Molnar

    Marcin Slusarz
     
  • Since some qdiscs call qdisc_tree_decrease_qlen() (so qdisc_lookup())
    without rtnl_lock(), adding and deleting from a qdisc list needs
    additional locking. This patch adds global spinlock qdisc_list_lock
    and wrapper functions for modifying the list. It is considered as a
    temporary solution until hfsc_dequeue(), netem_dequeue() and
    tbf_dequeue() (or qdisc_tree_decrease_qlen()) are redone.

    With feedback from Herbert Xu and David S. Miller.

    Signed-off-by: Jarek Poplawski
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Dave Müller sent a diff for the pata_oldpiix that highlighted a problem
    where a lot of the ATA drivers assume dma_mode == 0 means "no DMA" while
    the core code uses 0xFF.

    This turns out to have other consequences such as code doing >= XFER_UDMA_0
    also catching 0xFF as UDMAlots. Fortunately it doesn't generally affect
    set_dma_mode, although some drivers call back into their own set mode code
    from other points.

    Having been through the drivers I've added helpers for using_udma/using_mwdma
    dma_enabled so that people don't open code ranges that may change (eg if UDMA8
    appears somewhere)

    Thanks to David for the initial bits
    [and added fix for pata_oldpiix from and signed-off-by Dave Mueller
    -jg]

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Save SControl during probing and restore it on detach. This prevents
    adjustments made by libata drivers to seep into the next driver which
    gets attached (be it a libata one or not).

    It's not clear whether SControl also needs to be restored on suspend.
    The next system to have control (ACPI or kexec'd kernel) would
    probably like to see the original SControl value but there's no
    guarantee that a link is gonna keep working after SControl is adjusted
    without a reset and adding a reset and modified recovery cycle soley
    for this is an overkill. For now, do it only for detach.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Implement force params nohrst, nosrst and norst. This is to work
    around reset related problems and ease debugging.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    pnp: fix "add acpi:* modalias entries"
    UIO: generic irq handling for some uio platform devices
    UIO: uio_pdrv: fix license specification
    UIO: uio_pdrv: fix memory leak
    block: drop references taken by class_find_device()
    block: fix partial read() of /proc/{partitions,diskstats}
    PM: Remove WARN_ON from device_pm_add
    driver core: add init_name to struct device
    PM: don't skip device PM init when CONFIG_PM_SLEEP isn't set and CONFIG_PM is set
    driver model: anti-oopsing medicine
    dev_printk(): constify the `dev' argument
    drivers/base/driver.c: remove unused to_dev() macro
    Documentation: HOWTO-ja_JP-sync patch
    Japanese translation of Documentation/SubmitChecklist
    kobject: Replace ALL occurrences of '/' with '!' instead of only the first one.

    Linus Torvalds
     
  • This patch (as1128) fixes one of the problems related to the new PM
    infrastructure. We are not allowed to register new child devices
    during the middle of a system sleep transition, but unbinding a USB
    driver causes the core to automatically install altsetting 0 and
    thereby create new endpoint pseudo-devices.

    The patch fixes this problem (and the related problem that installing
    altsetting 0 will fail if the device is suspended) by deferring the
    Set-Interface call until some later time when it is legal and can
    succeed. Possible later times are: when a new driver is being probed
    for the interface, and when the interface is being resumed.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern