24 May, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] mpt2sas: fix driver version inconsistency
    [SCSI] 3w-xxxx: scsi_dma_unmap fix
    [SCSI] 3w-9xxx: scsi_dma_unmap fix
    [SCSI] ses: fix problems caused by empty SES provided name
    [SCSI] fc-transport: Close state transition-window during rport deletion.
    [SCSI] initialize max_target_blocked in scsi_alloc_target
    [SCSI] fnic: Add new Cisco PCI-Express FCoE HBA

    Linus Torvalds
     

22 May, 2009

3 commits


21 May, 2009

2 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits)
    [ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void *
    [ARM] 5517/1: integrator: don't put clock lookups in __initdata
    [ARM] 5518/1: versatile: don't put clock lookups in __initdata
    [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFF
    [ARM] Double check memmap is actually valid with a memmap has unexpected holes V2
    [ARM] realview: fix broadcast tick support
    [ARM] realview: remove useless smp_cross_call_done()
    [ARM] smp: fix cpumask usage in ARM SMP code
    [ARM] 5513/1: Eurotech VIPER SBC: fix compilation error
    [ARM] 5509/1: ep93xx: clkdev enable UARTS
    ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2
    ARM: OMAP3: Fix HW SAVEANDRESTORE shift define
    ARM: OMAP3: Fix number of GPIO lines for 34xx
    [ARM] S3C: Do not set clk->owner field if unset
    [ARM] S3C2410: mach-bast.c registering i2c data too early
    [ARM] S3C24XX: Fix unused code warning in arch/arm/plat-s3c24xx/dma.c
    [ARM] S3C64XX: fix GPIO debug
    [ARM] S3C64XX: GPIO include cleanup
    [ARM] nwfpe: fix 'floatx80_is_nan' sparse warning
    [ARM] nwfpe: Add decleration for ExtendedCPDO
    ...

    Linus Torvalds
     
  • The second argument of the probe method points to the amba_id
    structure, so it's better passed with the correct type. None of the
    current in-tree drivers uses the pointer, so they have only been
    checked for a clean compile.

    Change suggested by Russell King.

    Signed-off-by: Alessandro Rubini
    Signed-off-by: Russell King

    Alessandro Rubini
     

18 May, 2009

3 commits

  • `local_add_unless(x, y, z)' will be expanded to `(&(x)->y, (y), (x))', but
    `&(x)->y' should be `&(x)->a'

    Signed-off-by: Roel Kluin
    Cc: Mathieu Desnoyers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • pfn_valid() is meant to be able to tell if a given PFN has valid memmap
    associated with it or not. In FLATMEM, it is expected that holes always
    have valid memmap as long as there is valid PFNs either side of the hole.
    In SPARSEMEM, it is assumed that a valid section has a memmap for the
    entire section.

    However, ARM and maybe other embedded architectures in the future free
    memmap backing holes to save memory on the assumption the memmap is never
    used. The page_zone linkages are then broken even though pfn_valid()
    returns true. A walker of the full memmap must then do this additional
    check to ensure the memmap they are looking at is sane by making sure the
    zone and PFN linkages are still valid. This is expensive, but walkers of
    the full memmap are extremely rare.

    This was caught before for FLATMEM and hacked around but it hits again for
    SPARSEMEM because the page_zone linkages can look ok where the PFN linkages
    are totally screwed. This looks like a hatchet job but the reality is that
    any clean solution would end up consumning all the memory saved by punching
    these unexpected holes in the memmap. For example, we tried marking the
    memmap within the section invalid but the section size exceeds the size of
    the hole in most cases so pfn_valid() starts returning false where valid
    memmap exists. Shrinking the size of the section would increase memory
    consumption offsetting the gains.

    This patch identifies when an architecture is punching unexpected holes
    in the memmap that the memory model cannot automatically detect and sets
    ARCH_HAS_HOLES_MEMORYMODEL. At the moment, this is restricted to EP93xx
    which is the model sub-architecture this has been reported on but may expand
    later. When set, walkers of the full memmap must call memmap_valid_within()
    for each PFN and passing in what it expects the page and zone to be for
    that PFN. If it finds the linkages to be broken, it assumes the memmap is
    invalid for that PFN.

    Signed-off-by: Mel Gorman
    Signed-off-by: Russell King

    Mel Gorman
     
  • This adds CONFIG_REISERFS_FS_XATTR protection from reiserfs_permission.

    This is needed to avoid warnings during file deletions and chowns with
    xattrs disabled.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     

16 May, 2009

3 commits

  • * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
    drm/i915: Add new GET_PIPE_FROM_CRTC_ID ioctl.
    drm/i915: Set HDMI hot plug interrupt enable for only the output in question.
    drm/i915: Include 965GME pci ID in IS_I965GM(dev) to match UMS.
    drm/i915: Use the GM45 VGA hotplug workaround on G45 as well.
    drm/i915: ignore LVDS on intel graphics systems that lie about having it
    drm/i915: sanity check IER at wait_request time
    drm/i915: workaround IGD i2c bus issue in kernel side (v2)
    drm/i915: Don't allow binding objects into the last page of the aperture.
    drm/i915: save/restore fence registers across suspend/resume
    drm/i915: x86 always has writeq. Add I915_READ64 for symmetry.

    Linus Torvalds
     
  • This patch provides new heuristics for parsing both the form factor and
    media rotation rate ATA IDENFITY words.

    The reported ATA version must be 7 or greater and the device must return
    values defined as valid in the standard. Only then are the
    characteristics reported to SCSI via the VPD B1 page.

    This seems like a reasonable compromise to me considering that we have
    been shipping several kernel releases that key off the rotation rate bit
    without any version checking whatsoever. With no complaints so far.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jeff Garzik

    Martin K. Petersen
     
  • Andrew Vasquez wrote:
    > fc-transport: Close state transition-window during rport deletion.
    >
    > After an rport's state has transitioned to FC_PORTSTATE_BLOCKED,
    > but, prior to making the upcall to 'block' the scsi-target
    > associated with an rport, queued commands can recycle and
    > ultimately run out of retries causing failures to propagate to
    > upper-level drivers. Close this transition-window by returning
    > the non-'retries' modifying DID_IMM_RETRY status for submitted
    > I/Os.

    The same can happen for iscsi when transitioning from logged in
    to failed and blocking the sdevs.

    This patch converts iscsi and fc's transitions back to use DID_IMM_RETRY
    instead of DID_TRANSPORT_DISRUPTED which has a limited number of retries
    that we do not want to use for handling this race.

    Signed-off-by: Andrew Vasquez
    [Addition of iscsi and fc port online devloss case conversion by Mike Christie]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Andrew Vasquez
     

15 May, 2009

3 commits

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    Revert "mm: add /proc controls for pdflush threads"
    viocd: needs to depend on BLOCK
    block: fix the bio_vec array index out-of-bounds test

    Linus Torvalds
     
  • This reverts commit fafd688e4c0c34da0f3de909881117d374e4c7af.

    Work is progressing to switch away from pdflush as the process backing
    for flushing out dirty data. So it seems pointless to add more knobs
    to control pdflush threads. The original author of the patch did not
    have any specific use cases for adding the knobs, so we can easily
    revert this before 2.6.30 to avoid having to maintain this API
    forever.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • This allows userlevel code to discover the pipe number corresponding
    to a given CRTC ID. This is necessary for doing pipe-specific
    operations such as waiting for vblank on a given CRTC. Failure to use
    the right pipe mapping can result in GPU hangs, or at least failure
    to actually sync to vblank.

    Signed-off-by: Carl Worth
    [anholt: Style touchups from review]
    Signed-off-by: Eric Anholt

    Carl Worth
     

13 May, 2009

3 commits

  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    dma: fix ipu_idmac.c to not discard the last queued buffer
    ioatdma: fix "ioatdma frees DMA memory with wrong function"
    ipu_idmac: Use disable_irq_nosync() from within irq handlers.
    dmatest: fix max channels handling

    Linus Torvalds
     
  • as reported by Alexander Beregalov

    ioatdma 0000:00:08.0: DMA-API: device driver frees DMA memory with
    wrong function [device address=0x000000007f76f800] [size=2000 bytes]
    [map
    ped as single] [unmapped as page]

    The ioatdma driver was unmapping all regions
    (either allocated as page or single) using unmap_page.
    This patch lets dma driver recognize if unmap_single or unmap_page should be used.
    It introduces two new dma control flags:
    DMA_COMPL_SRC_UNMAP_SINGLE and DMA_COMPL_DEST_UNMAP_SINGLE.
    They should be set to indicate dma driver to do dma-unmapping as single
    (first one for the source, tha latter for the destination).
    If respective flag is not set, the driver assumes dma-unmapping as page.

    Signed-off-by: Maciej Sosnowski
    Reported-by: Alexander Beregalov
    Tested-by: Alexander Beregalov
    Signed-off-by: Dan Williams

    Maciej Sosnowski
     
  • In order to build the generic syscall table, we need a declaration for
    every system call. sys_pipe2 was added without a proper declaration, so
    add this to syscalls.h now.

    Signed-off-by: Arnd Bergmann
    Cc: Ulrich Drepper
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

11 May, 2009

4 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    Revert driver core: move platform_data into platform_device
    Revert driver core: fix passing platform_data
    Remove old PRINTK_DEBUG config item
    Doc/sysfs-rules: Swap the order of the words so the sentence makes more sense
    Driver core: platform: fix kernel-doc warnings

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (22 commits)
    Fix the race between capifs remount and node creation
    Fix races around the access to ->s_options
    switch ufs directories to ufs_sync_file()
    Switch open_exec() and sys_uselib() to do_open_filp()
    Make open_exec() and sys_uselib() use may_open(), instead of duplicating its parts
    Reduce path_lookup() abuses
    Make checkpatch.pl shut up on fs/inode.c
    NULL noise in fs/super.c:kill_bdev_super()
    romfs: cleanup romfs_fs.h
    ROMFS: romfs_dev_read() error ignored
    fs: dcache fix LRU ordering
    ocfs2: Use nd_set_link().
    Fix deadlock in ipathfs ->get_sb()
    Fix a leak in failure exit in 9p ->get_sb()
    Convert obvious places to deactivate_locked_super()
    New helper: deactivate_locked_super()
    reiserfs: remove privroot hiding in lookup
    reiserfs: dont associate security.* with xattr files
    reiserfs: fixup xattr_root caching
    Always lookup priv_root on reiserfs mount and keep it
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix line-in on Mac Mini Core2 Duo
    ALSA: Release v1.0.20
    sound: via82xx: fix DXS volume range
    sound: serial-u16550: fix buffer overflow
    ASoC: Fix errors in WM8990

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits)
    bonding: fix panic if initialization fails
    IXP4xx: complete Ethernet netdev setup before calling register_netdev().
    IXP4xx: use "ENODEV" instead of "ENOSYS" in module initialization.
    ipvs: Fix IPv4 FWMARK virtual services
    ipv4: Make INET_LRO a bool instead of tristate.
    net: remove stale reference to fastroute from Kconfig help text
    net: update skb_recycle_check() for hardware timestamping changes
    bnx2: Fix panic in bnx2_poll_work().
    net-sched: fix bfifo default limit
    igb: resolve panic on shutdown when SR-IOV is enabled
    wimax: oops: wimax_dev_add() is the only one that can initialize the state
    wimax: fix oops if netlink fails to add attribute
    Bluetooth: Move dev_set_name() to a context that can sleep
    netfilter: ctnetlink: fix wrong message type in user updates
    netfilter: xt_cluster: fix use of cluster match with 32 nodes
    netfilter: ip6t_ipv6header: fix match on packets ending with NEXTHDR_NONE
    netfilter: add missing linux/types.h include to xt_LED.h
    mac80211: pid, fix memory corruption
    mac80211: minstrel, fix memory corruption
    cfg80211: fix comment on regulatory hint processing
    ...

    Linus Torvalds
     

10 May, 2009

1 commit


09 May, 2009

8 commits

  • Put generic_show_options read access to s_options under rcu_read_lock,
    split save_mount_options() into "we are setting it the first time"
    (uses in foo_fill_super()) and "we are relacing and freeing the old one",
    synchronize_rcu() before kfree() in the latter.

    Signed-off-by: Al Viro

    Al Viro
     
  • ... and make path_lookup_open() static

    Signed-off-by: Al Viro

    Al Viro
     
  • There's no kernel-only content in it anymore, so move it to header-y
    and remove the superflous #ifdef __KERNEL__.

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

    Christoph Hellwig
     
  • Does equivalent of up_write(&s->s_umount); deactivate_super(s);
    However, it does not does not unlock it until it's all over.
    As the result, it's safe to use to dispose of new superblock on ->get_sb()
    failure exits - nobody will see the sucker until it's all over.
    Equivalent using up_write/deactivate_super is safe for that purpose
    if superblock is either safe to use or has NULL ->s_root when we unlock.
    Normally filesystems take the required precautions, but
    a) we do have bugs in that area in some of them.
    b) up_write/deactivate_super sequence is extremely common,
    so the helper makes sense anyway.

    Signed-off-by: Al Viro

    Al Viro
     
  • With Al Viro's patch to move privroot lookup to fs mount, there's no need
    to have special code to hide the privroot in reiserfs_lookup.

    I've also cleaned up the privroot hiding in reiserfs_readdir_dentry and
    removed the last user of reiserfs_xattrs().

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Al Viro

    Jeff Mahoney
     
  • The xattr_root caching was broken from my previous patch set. It wouldn't
    cause corruption, but could cause decreased performance due to allocating
    a larger chunk of the journal (~ 27 blocks) than it would actually use.

    This patch loads the xattr root dentry at xattr initialization and creates
    it on-demand. Since we're using the cached dentry, there's no point
    in keeping lookup_or_create_dir around, so that's removed.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Al Viro

    Jeff Mahoney
     
  • ... even if it's a negative dentry. That way we can set ->d_op on
    root before anyone could race with us. Simplify d_compare(), while
    we are at it.

    Signed-off-by: Al Viro

    Al Viro
     
  • This reverts commit 006f4571a15fae3a0575f2a0f9e9b63b3d1012f8:

    This patch moves platform_data from struct device into
    struct platform_device, based on the two ideas:

    1. Now all platform_driver is registered by platform_driver_register,
    which makes probe()/release()/... of platform_driver passed parameter
    of platform_device *, so platform driver can get platform_data from
    platform_device;

    2. Other kind of devices do not need to use platform_data, we can
    decrease size of device if moving it to platform_device.

    Taking into consideration of thousands of files to be fixed and they
    can't be finished in one night(maybe it will take a long time), so we
    keep platform_data in device to allow two kind of cases coexist until
    all platform devices pass its platfrom data from
    platform_device->platform_data.

    All patches to do this kind of conversion are welcome.

    As we don't really want to do it, it was a bad idea.

    Cc: David Brownell
    Cc: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

08 May, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (32 commits)
    [CIFS] Fix double list addition in cifs posix open code
    [CIFS] Allow raw ntlmssp code to be enabled with sec=ntlmssp
    [CIFS] Fix SMB uid in NTLMSSP authenticate request
    [CIFS] NTLMSSP reenabled after move from connect.c to sess.c
    [CIFS] Remove sparse warning
    [CIFS] remove checkpatch warning
    [CIFS] Fix final user of old string conversion code
    [CIFS] remove cifs_strfromUCS_le
    [CIFS] NTLMSSP support moving into new file, old dead code removed
    [CIFS] Fix endian conversion of vcnum field
    [CIFS] Remove trailing whitespace
    [CIFS] Remove sparse endian warnings
    [CIFS] Add remaining ntlmssp flags and standardize field names
    [CIFS] Fix build warning
    cifs: fix length handling in cifs_get_name_from_search_buf
    [CIFS] Remove unneeded QuerySymlink call and fix mapping for unmapped status
    [CIFS] rename cifs_strndup to cifs_strndup_from_ucs
    Added loop check when mounting DFS tree.
    Enable dfs submounts to handle remote referrals.
    [CIFS] Remove older session setup implementation
    ...

    Linus Torvalds
     

07 May, 2009

1 commit

  • When building with gcc 3.2 I get thousands of warnings such as

    include/linux/gfp.h: In function `allocflags_to_migratetype':
    include/linux/gfp.h:105: warning: null format string

    due to passing a NULL format string to warn_slowpath() in

    #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL)

    Split this case out into a separate call. This also shrinks the kernel
    slightly:

    text data bss dec hex filename
    4802274 707668 712704 6222646 5ef336 vmlinux
    text data bss dec hex filename
    4799027 703572 712704 6215303 5ed687 vmlinux

    due to removeing one argument from the commonly-called __WARN().

    [akpm@linux-foundation.org: reduce scope of `empty']
    Acked-by: Jesper Nilsson
    Acked-by: Johannes Weiner
    Acked-by: Arjan van de Ven
    Signed-off-by: Andi Kleen
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

06 May, 2009

2 commits


05 May, 2009

5 commits

  • This patch fixes a problem when you use 32 nodes in the cluster
    match:

    % iptables -I PREROUTING -t mangle -i eth0 -m cluster \
    --cluster-total-nodes 32 --cluster-local-node 32 \
    --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff
    iptables: Invalid argument. Run `dmesg' for more information.
    % dmesg | tail -1
    xt_cluster: this node mask cannot be higher than the total number of nodes

    The problem is related to this checking:

    if (info->node_mask >= (1 << info->total_nodes)) {
    printk(KERN_ERR "xt_cluster: this node mask cannot be "
    "higher than the total number of nodes\n");
    return false;
    }

    (1 << 32) is 1. Thus, the checking fails.

    BTW, I said this before but I insist: I have only tested the cluster
    match with 2 nodes getting ~45% extra performance in an active-active setup.
    The maximum limit of 32 nodes is still completely arbitrary. I'd really
    appreciate if people that have more nodes in their setups let me know.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Patrick McHardy

    Pablo Neira Ayuso
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    e1000: fix virtualization bug
    bonding: fix alb mode locking regression
    Bluetooth: Fix issue with sysfs handling for connections
    usbnet: CDC EEM support (v5)
    tcp: Fix tcp_prequeue() to get correct rto_min value
    ehea: fix invalid pointer access
    ne2k-pci: Do not register device until initialized.
    Subject: [PATCH] br2684: restore net_dev initialization
    net: Only store high 16 bits of kernel generated filter priorities
    virtio_net: Fix function name typo
    virtio_net: Cleanup command queue scatterlist usage
    bonding: correct the cleanup in bond_create()
    virtio: add missing include to virtio_net.h
    smsc95xx: add support for LAN9512 and LAN9514
    smsc95xx: configure LED outputs
    netconsole: take care of NETDEV_UNREGISTER event
    xt_socket: checks for the state of nf_conntrack
    bonding: bond_slave_info_query() fix
    cxgb3: fixing gcc 4.4 compiler warning: suggest parentheses around operand of ‘!’
    netfilter: use likely() in xt_info_rdlock_bh()
    ...

    Linus Torvalds
     
  • Pointed out by Dave Miller:

    CHECK include/linux/netfilter (57 files)
    /home/davem/src/GIT/net-2.6/usr/include/linux/netfilter/xt_LED.h:6: found __[us]{8,16,32,64} type without #include

    Signed-off-by: Patrick McHardy

    Patrick McHardy
     
  • Due to a semantic changes in flush_workqueue() the current approach of
    synchronizing the sysfs handling for connections doesn't work anymore. The
    whole approach is actually fully broken and based on assumptions that are
    no longer valid.

    With the introduction of Simple Pairing support, the creation of low-level
    ACL links got changed. This change invalidates the reason why in the past
    two independent work queues have been used for adding/removing sysfs
    devices. The adding of the actual sysfs device is now postponed until the
    host controller successfully assigns an unique handle to that link. So
    the real synchronization happens inside the controller and not the host.

    The only left-over problem is that some internals of the sysfs device
    handling are not initialized ahead of time. This leaves potential access
    to invalid data and can cause various NULL pointer dereferences. To fix
    this a new function makes sure that all sysfs details are initialized
    when an connection attempt is made. The actual sysfs device is only
    registered when the connection has been successfully established. To
    avoid a race condition with the registration, the check if a device is
    registered has been moved into the removal work.

    As an extra protection two flush_work() calls are left in place to
    make sure a previous add/del work has been completed first.

    Based on a report by Marc Pignat

    Signed-off-by: Marcel Holtmann
    Tested-by: Justin P. Mattock
    Tested-by: Roger Quadros
    Tested-by: Marc Pignat

    Marcel Holtmann
     
  • This introduces a CDC Ethernet Emulation Model (EEM) host side
    driver to support USB EEM devices.

    EEM is different from the Ethernet Control Model (ECM) currently
    supported by the "CDC Ethernet" driver. One key difference is
    that it doesn't require of USB interface alternate settings to
    manage interface state; some maldesigned hardware can't handle
    that part of USB. It also avoids a separate USB interface for
    control and status updates.

    [ dbrownell@users.sourceforge.net: fix skb leaks, add rx packet
    checks, improve fault handling, EEM conformance updates, cleanup ]

    Signed-off-by: Omar Laazimani
    Signed-off-by: David Brownell
    Signed-off-by: David S. Miller

    Omar Laazimani