1. 06 Jan, 2009 32 commits
    • Linus Torvalds's avatar
      Merge branch 'core-fixes-for-linus' of... · 0578c3b4
      Linus Torvalds authored
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        swiotlb: Don't include linux/swiotlb.h twice in lib/swiotlb.c
        intel-iommu: fix build error with INTR_REMAP=y and DMAR=n
        swiotlb: add missing __init annotations
      0578c3b4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · 7d8a804c
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
        dlm: fs/dlm/ast.c: fix warning
        dlm: add new debugfs entry
        dlm: add time stamp of blocking callback
        dlm: change lock time stamping
        dlm: improve how bast mode handling
        dlm: remove extra blocking callback check
        dlm: replace schedule with cond_resched
        dlm: remove kmap/kunmap
        dlm: trivial annotation of be16 value
        dlm: fix up memory allocation flags
      7d8a804c
    • Linus Torvalds's avatar
      Merge branch 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux · c58bd34d
      Linus Torvalds authored
      * 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux:
        i2c-omap: fix type of irq handler function
        i2c-s3c2410: Change IRQ to be plain integer.
        i2c-s3c2410: Allow more than one i2c-s3c2410 adapter
        i2c-s3c2410: Remove default platform data.
        i2c-s3c2410: Use platform data for gpio configuration
        i2c-s3c2410: Fixup style problems from checkpatch.pl
        i2c-omap: Enable I2C wakeups for 34xx
        i2c-omap: reprogram OCP_SYSCONFIG register after reset
        i2c-omap: convert 'rev1' flag to generic 'rev' u8
        i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()
        i2c-omap: Clean-up i2c-omap
        i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds
        i2c-omap: Mark init-only functions as __init
        i2c-omap: Add support for omap34xx
        i2c-omap: FIFO handling support and broken hw workaround for i2c-omap
        i2c-omap: Add high-speed support to omap-i2c
        i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr()
        i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg
      
      Fix up apparently-trivial conflict in drivers/i2c/busses/i2c-s3c2410.c
      c58bd34d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 8606ab6d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (22 commits)
        HID: fix error condition propagation in hid-sony driver
        HID: fix reference count leak hidraw
        HID: add proper support for pensketch 12x9 tablet
        HID: don't allow DealExtreme usb-radio be handled by usb hid driver
        HID: fix default Kconfig setting for TopSpeed driver
        HID: driver for TopSeed Cyberlink quirky remote
        HID: make boot protocol drivers depend on EMBEDDED
        HID: avoid sparse warning in HID_COMPAT_LOAD_DRIVER
        HID: hiddev cleanup -- handle all error conditions properly
        HID: force feedback driver for GreenAsia 0x12 PID
        HID: switch specialized drivers from "default y" to !EMBEDDED
        HID: set proper dev.parent in hidraw
        HID: add dynids facility
        HID: use GFP_KERNEL in hid_alloc_buffers
        HID: usbhid, use usb_endpoint_xfer_int
        HID: move usbhid flags to usbhid.h
        HID: add n-trig digitizer support
        HID: add phys and name ioctls to hidraw
        HID: struct device - replace bus_id with dev_name(), dev_set_name()
        HID: automatically call usbhid_set_leds in usbhid driver
        ...
      8606ab6d
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · c54febae
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (27 commits)
        GFS2: Use DEFINE_SPINLOCK
        GFS2: Fix use-after-free bug on umount (try #2)
        Revert "GFS2: Fix use-after-free bug on umount"
        GFS2: Streamline alloc calculations for writes
        GFS2: Send useful information with uevent messages
        GFS2: Fix use-after-free bug on umount
        GFS2: Remove ancient, unused code
        GFS2: Move four functions from super.c
        GFS2: Fix bug in gfs2_lock_fs_check_clean()
        GFS2: Send some sensible sysfs stuff
        GFS2: Kill two daemons with one patch
        GFS2: Move gfs2_recoverd into recovery.c
        GFS2: Fix "truncate in progress" hang
        GFS2: Clean up & move gfs2_quotad
        GFS2: Add more detail to debugfs glock dumps
        GFS2: Banish struct gfs2_rgrpd_host
        GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd
        GFS2: Move rg_igeneration into struct gfs2_rgrpd
        GFS2: Banish struct gfs2_dinode_host
        GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize
        ...
      c54febae
    • Linus Torvalds's avatar
      igb: fix anoying type mismatch warning on rx/tx queue sizing · e42e4ba0
      Linus Torvalds authored
      When using "min()", the types of both sides should match.  With the cpu
      mask changes, the type of num_online_cpus() will now depend on config
      options. Use "min_t()" with an explicit type instead.
      
      And make the rx/tx case look the same too, just for sanity.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e42e4ba0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 7a1fcd5f
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (30 commits)
        sparc: Fix minor SPARC32 compile error
        sparc: Remove reg*.h from Kbuild
        sparc: Clean arch-specific code in prom_common.c
        sparc: Kill asm/reg*.h
        sparc: Use 64BIT config entry
        MAINTAINERS: update sparc maintainer
        sparc: unify ipcbuf.h
        sparc: Update 64-bit defconfig.
        sparc: remove NO_PROC_ID - it is no longer used
        sparc: drop get_tbr() in traps.h
        sparc: fix warning in userspace header traps.h
        sparc: fix warnings in userspace header byteorder.h
        sparc: fix warning in userspace header jsflash.h
        sparc: unify openprom.h
        sparc64: delete unused linux_prom64_ranges from openprom_64.h
        sparc: prepare openprom for unification
        sparc: remove linux_prom_pci_assigned_addresses from openprom_32.h
        sparc: remove ebus definitions from openprom*.h
        sparc: unify siginfo.h
        sparc: unify ptrace.h
        ...
      7a1fcd5f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 15b06690
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits)
        qlge: Fix sparse warnings for tx ring indexes.
        qlge: Fix sparse warning regarding rx buffer queues.
        qlge: Fix sparse endian warning in ql_hw_csum_setup().
        qlge: Fix sparse endian warning for inbound packet control block flags.
        qlge: Fix sparse warnings for byte swapping in qlge_ethool.c
        myri10ge: print MAC and serial number on probe failure
        pkt_sched: cls_u32: Fix locking in u32_change()
        iucv: fix cpu hotplug
        af_iucv: Free iucv path/socket in path_pending callback
        af_iucv: avoid left over IUCV connections from failing connects
        af_iucv: New error return codes for connect()
        net/ehea: bitops work on unsigned longs
        Revert "net: Fix for initial link state in 2.6.28"
        tcp: Kill extraneous SPLICE_F_NONBLOCK checks.
        tcp: don't mask EOF and socket errors on nonblocking splice receive
        dccp: Integrate the TFRC library with DCCP
        dccp: Clean up ccid.c after integration of CCID plugins
        dccp: Lockless integration of CCID congestion-control plugins
        qeth: get rid of extra argument after printk to dev_* conversion
        qeth: No large send using EDDP for HiperSockets.
        ...
      15b06690
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · c155b914
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: ice1724 - Fix a typo in IEC958 PCM name
        ASoC: fix davinci-sffsdr buglet
        ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etc
        ALSA: hda - cxt5051 report jack state
        ALSA: hda - add basic jack reporting functions to patch_conexant.c
        ALSA: Use usb_set/get_intfdata
        ASoC: Clean up kerneldoc warnings
        ASoC: Fix pxa2xx-pcm checks for invalid DMA channels
        LSA: hda - Add HP Acacia detection
        ALSA: hda - fix name for ALC1200
        ALSA: sound/usb: use USB API functions rather than constants
        ASoC: TWL4030: DAPM based capture implementation
        ASoC: TWL4030: Make the enum filter generic for twl4030
      c155b914
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq · e9af797d
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ] Fix on resume, now preserves user policy min/max.
        [CPUFREQ] Add Celeron Core support to p4-clockmod.
        [CPUFREQ] add to speedstep-lib additional fsb values for core processors
        [CPUFREQ] Disable sysfs ui for p4-clockmod.
        [CPUFREQ] p4-clockmod: reduce noise
        [CPUFREQ] clean up speedstep-centrino and reduce cpumask_t usage
      e9af797d
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 · 10cc04f5
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (138 commits)
        ocfs2: Access the right buffer_head in ocfs2_merge_rec_left.
        ocfs2: use min_t in ocfs2_quota_read()
        ocfs2: remove unneeded lvb casts
        ocfs2: Add xattr support checking in init_security
        ocfs2: alloc xattr bucket in ocfs2_xattr_set_handle
        ocfs2: calculate and reserve credits for xattr value in mknod
        ocfs2/xattr: fix credits calculation during index create
        ocfs2/xattr: Always updating ctime during xattr set.
        ocfs2/xattr: Remove extend_trans call and add its credits from the beginning
        ocfs2/dlm: Fix race during lockres mastery
        ocfs2/dlm: Fix race in adding/removing lockres' to/from the tracking list
        ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating
        ocfs2/dlm: Clean up errors in dlm_proxy_ast_handler()
        ocfs2/dlm: Fix a race between migrate request and exit domain
        ocfs2: One more hamming code optimization.
        ocfs2: Another hamming code optimization.
        ocfs2: Don't hand-code xor in ocfs2_hamming_encode().
        ocfs2: Enable metadata checksums.
        ocfs2: Validate superblock with checksum and ecc.
        ocfs2: Checksum and ECC for directory blocks.
        ...
      10cc04f5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 520c8534
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        inotify: fix type errors in interfaces
        fix breakage in reiserfs_new_inode()
        fix the treatment of jfs special inodes
        vfs: remove duplicate code in get_fs_type()
        add a vfs_fsync helper
        sys_execve and sys_uselib do not call into fsnotify
        zero i_uid/i_gid on inode allocation
        inode->i_op is never NULL
        ntfs: don't NULL i_op
        isofs check for NULL ->i_op in root directory is dead code
        affs: do not zero ->i_op
        kill suid bit only for regular files
        vfs: lseek(fd, 0, SEEK_CUR) race condition
      520c8534
    • Nick Piggin's avatar
      mm lockless pagecache barrier fix · e8c82c2e
      Nick Piggin authored
      An XFS workload showed up a bug in the lockless pagecache patch. Basically it
      would go into an "infinite" loop, although it would sometimes be able to break
      out of the loop! The reason is a missing compiler barrier in the "increment
      reference count unless it was zero" case of the lockless pagecache protocol in
      the gang lookup functions.
      
      This would cause the compiler to use a cached value of struct page pointer to
      retry the operation with, rather than reload it. So the page might have been
      removed from pagecache and freed (refcount==0) but the lookup would not correctly
      notice the page is no longer in pagecache, and keep attempting to increment the
      refcount and failing, until the page gets reallocated for something else. This
      isn't a data corruption because the condition will be detected if the page has
      been reallocated. However it can result in a lockup.
      
      Linus points out that ACCESS_ONCE is also required in that pointer load, even
      if it's absence is not causing a bug on our particular build. The most general
      way to solve this is just to put an rcu_dereference in radix_tree_deref_slot.
      
      Assembly of find_get_pages,
      before:
      .L220:
              movq    (%rbx), %rax    #* ivtmp.1162, tmp82
              movq    (%rax), %rdi    #, prephitmp.1149
      .L218:
              testb   $1, %dil        #, prephitmp.1149
              jne     .L217   #,
              testq   %rdi, %rdi      # prephitmp.1149
              je      .L203   #,
              cmpq    $-1, %rdi       #, prephitmp.1149
              je      .L217   #,
              movl    8(%rdi), %esi   # <variable>._count.counter, c
              testl   %esi, %esi      # c
              je      .L218   #,
      
      after:
      .L212:
              movq    (%rbx), %rax    #* ivtmp.1109, tmp81
              movq    (%rax), %rdi    #, ret
              testb   $1, %dil        #, ret
              jne     .L211   #,
              testq   %rdi, %rdi      # ret
              je      .L197   #,
              cmpq    $-1, %rdi       #, ret
              je      .L211   #,
              movl    8(%rdi), %esi   # <variable>._count.counter, c
              testl   %esi, %esi      # c
              je      .L212   #,
      
      (notice the obvious infinite loop in the first example, if page->count remains 0)
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e8c82c2e
    • Alan Cox's avatar
      i2o: Update my address · f1b11e50
      Alan Cox authored
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f1b11e50
    • Ron Mercer's avatar
      qlge: Fix sparse warnings for tx ring indexes. · 3537d54c
      Ron Mercer authored
      Warnings:
      drivers/net/qlge/qlge_main.c:1474:34: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1475:36: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1592:51: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1941:20: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:1941:20:    expected restricted unsigned int [usertype] tid
      drivers/net/qlge/qlge_main.c:1941:20:    got int [signed] index
      drivers/net/qlge/qlge_main.c:1945:24: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:1945:24:    expected restricted unsigned int [usertype] txq_idx
      drivers/net/qlge/qlge_main.c:1945:24:    got unsigned int [unsigned] [usertype] tx_ring_idx
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3537d54c
    • Ron Mercer's avatar
      qlge: Fix sparse warning regarding rx buffer queues. · 2c9a0d41
      Ron Mercer authored
      Warnings:
      drivers/net/qlge/qlge_main.c:909:17: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:909:17:    expected unsigned int [unsigned] [usertype] addr_lo
      drivers/net/qlge/qlge_main.c:909:17:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:911:17: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:911:17:    expected unsigned int [unsigned] [usertype] addr_hi
      drivers/net/qlge/qlge_main.c:911:17:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:974:17: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:974:17:    expected unsigned int [unsigned] [usertype] addr_lo
      drivers/net/qlge/qlge_main.c:974:17:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:975:17: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:975:17:    expected unsigned int [unsigned] [usertype] addr_hi
      drivers/net/qlge/qlge_main.c:975:17:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:2132:16: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:2132:16:    expected unsigned int [unsigned] [usertype] addr_lo
      drivers/net/qlge/qlge_main.c:2132:16:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:2133:16: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:2133:16:    expected unsigned int [unsigned] [usertype] addr_hi
      drivers/net/qlge/qlge_main.c:2133:16:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:2212:15: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:2212:15:    expected unsigned int [unsigned] [usertype] addr_lo
      drivers/net/qlge/qlge_main.c:2212:15:    got restricted unsigned int [usertype] <noident>
      drivers/net/qlge/qlge_main.c:2214:15: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:2214:15:    expected unsigned int [unsigned] [usertype] addr_hi
      drivers/net/qlge/qlge_main.c:2214:15:    got restricted unsigned int [usertype] <noident>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c9a0d41
    • Ron Mercer's avatar
      qlge: Fix sparse endian warning in ql_hw_csum_setup(). · fd2df4f7
      Ron Mercer authored
      Changed u16 to __sum16 usage.
      
      Warnings:
      drivers/net/qlge/qlge_main.c:1897:9: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:1897:9:    expected unsigned short [usertype] *check
      drivers/net/qlge/qlge_main.c:1897:9:    got restricted unsigned short *<noident>
      drivers/net/qlge/qlge_main.c:1903:9: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:1903:9:    expected unsigned short [usertype] *check
      drivers/net/qlge/qlge_main.c:1903:9:    got restricted unsigned short *<noident>
      drivers/net/qlge/qlge_main.c:1909:9: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_main.c:1909:9:    expected unsigned short [unsigned] [short] [usertype] <noident>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd2df4f7
    • Ron Mercer's avatar
      qlge: Fix sparse endian warning for inbound packet control block flags. · a303ce09
      Ron Mercer authored
      Changed flags element from __le32 to 3 reserved bytes and one byte of
      flags.  Changed flags bit definitions to reflect byte width instead of
      __le32 width.
      
      Warnings:
      drivers/net/qlge/qlge_main.c:1206:16: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1207:16: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1233:17: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1276:17: warning: restricted degrades to integer
      drivers/net/qlge/qlge_main.c:1349:19: warning: restricted degrades to integer
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a303ce09
    • Ron Mercer's avatar
      qlge: Fix sparse warnings for byte swapping in qlge_ethool.c · 8306c952
      Ron Mercer authored
      drivers/net/qlge/qlge_ethtool.c:59:23: warning: cast to restricted type
      drivers/net/qlge/qlge_ethtool.c:59:21: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_ethtool.c:59:21:    expected restricted unsigned short [usertype] irq_delay
      drivers/net/qlge/qlge_ethtool.c:59:21:    got unsigned short [unsigned] [usertype] <noident>
      drivers/net/qlge/qlge_ethtool.c:61:8: warning: cast to restricted type
      drivers/net/qlge/qlge_ethtool.c:60:21: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_ethtool.c:60:21:    expected restricted unsigned short [usertype] pkt_delay
      drivers/net/qlge/qlge_ethtool.c:60:21:    got unsigned short [unsigned] [usertype] <noident>
      drivers/net/qlge/qlge_ethtool.c:82:23: warning: cast to restricted type
      drivers/net/qlge/qlge_ethtool.c:82:21: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_ethtool.c:82:21:    expected restricted unsigned short [usertype] irq_delay
      drivers/net/qlge/qlge_ethtool.c:82:21:    got unsigned short [unsigned] [usertype] <noident>
      drivers/net/qlge/qlge_ethtool.c:84:8: warning: cast to restricted type
      drivers/net/qlge/qlge_ethtool.c:83:21: warning: incorrect type in assignment (different base types)
      drivers/net/qlge/qlge_ethtool.c:83:21:    expected restricted unsigned short [usertype] pkt_delay
      drivers/net/qlge/qlge_ethtool.c:83:21:    got unsigned short [unsigned] [usertype] <noident>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8306c952
    • Brice Goglin's avatar
      myri10ge: print MAC and serial number on probe failure · 0f840011
      Brice Goglin authored
      To help board identification and diagnosis, print the MAC
      and serial number on probe failure if they are available.
      Signed-off-by: default avatarBrice Goglin <brice@myri.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f840011
    • Jarek Poplawski's avatar
      pkt_sched: cls_u32: Fix locking in u32_change() · 6f573214
      Jarek Poplawski authored
      New nodes are inserted in u32_change() under rtnl_lock() with wmb(),
      so without tcf_tree_lock() like in other classifiers (e.g. cls_fw).
      This isn't enough without rmb() on the read side, but on the other
      hand adding such barriers doesn't give any savings, so the lock is
      added instead.
      Reported-by: default avatarm0sia <m0sia@plotinka.ru>
      Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f573214
    • Julian Calaby's avatar
      sparc: Fix minor SPARC32 compile error · 4696b64d
      Julian Calaby authored
      When CONFIG_PROC_FS is unset, include/linux/interrupt.h defines
      init_irq_proc() as an empty function.
      
      arch/sparc/kernel/irq_32.c defines this function unconditionally.
      
      Fix the latter so that it only defines this function when CONFIG_PROC_FS
      is set.
      
      This fixes the following error:
      arch/sparc/kernel/irq_32.c:672: error: redefinition of 'init_irq_proc'
      include/linux/interrupt.h:461: error: previous definition of
      'init_irq_proc' was here
      
      This was found using randconfig builds.
      Signed-off-by: default avatarJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4696b64d
    • Heiko Carstens's avatar
      iucv: fix cpu hotplug · f1d3e4dc
      Heiko Carstens authored
      If the iucv module is compiled in/loaded but no user is registered cpu
      hot remove doesn't work. Reason for that is that the iucv cpu hotplug
      notifier on CPU_DOWN_PREPARE checks if the iucv_buffer_cpumask would
      be empty after the corresponding bit would be cleared. However the bit
      was never set since iucv wasn't enable. That causes all cpu hot unplug
      operations to fail in this scenario.
      To fix this use iucv_path_table as an indicator wether iucv is enabled
      or not.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f1d3e4dc
    • Hendrik Brueckner's avatar
      af_iucv: Free iucv path/socket in path_pending callback · 65dbd7c2
      Hendrik Brueckner authored
      Free iucv path after iucv_path_sever() calls in iucv_callback_connreq()
      (path_pending() iucv callback).
      If iucv_path_accept() fails, free path and free/kill newly created socket.
      Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      65dbd7c2
    • Ursula Braun's avatar
      af_iucv: avoid left over IUCV connections from failing connects · 18becbc5
      Ursula Braun authored
      For certain types of AFIUCV socket connect failures IUCV connections
      are left over. Add some cleanup-statements to avoid cluttered IUCV
      connections.
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18becbc5
    • Hendrik Brueckner's avatar
      af_iucv: New error return codes for connect() · 55cdea9e
      Hendrik Brueckner authored
      If the iucv_path_connect() call fails then return an error code that
      corresponds to the iucv_path_connect() failure condition; instead of
      returning -ECONNREFUSED for any failure.
      
      This helps to improve error handling for user space applications
      (e.g.  inform the user that the z/VM guest is not authorized to
      connect to other guest virtual machines).
      
      The error return codes are based on those described in connect(2).
      Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      55cdea9e
    • Alan Cox's avatar
      mm: update my address · 046c6884
      Alan Cox authored
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      046c6884
    • Al Viro's avatar
      5641f1fd
    • Al Viro's avatar
      uml got broken by commit 30742d5c · 7483cb7b
      Al Viro authored
      ... if you revert a commit, revert the fixups elsewhere that had been
      triggered by it.  Such as 8c56250f
      (lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set).
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7483cb7b
    • Al Viro's avatar
      get rid of the last symlink in uml build · 22409f9c
      Al Viro authored
      We need to make asm-offsets.h contents visible for objects built
      with userland headers.  Instead of creating a symlink, just have the
      file with equivalent include (relative to location of header) created
      once.  That kills the last symlink used in arch/um builds.
      
      Additionally, both generated headers can become dependencies of
      archprepare now, killing the misuse of prepare.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22409f9c
    • Stephen Rothwell's avatar
      net/ehea: bitops work on unsigned longs · 48e4cc77
      Stephen Rothwell authored
      The flags field of struct ehea_port is only used with test_bit(),
      clear_bit() and set_bit() and these interfaces only work on
      "unsigned long"s, so change the field to be an "unsigned long".  Also,
      this field only has two bits defined for it (0 and 1) so will still be
      fine if someone builds this driver for a 32 bit arch (at least as far as
      this flags field is concerned).
      
      Also note that ehea_driver_flags is only used in ehca_main.c, so make it
      static in there.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      48e4cc77
    • David S. Miller's avatar
      Revert "net: Fix for initial link state in 2.6.28" · c276e098
      David S. Miller authored
      This reverts commit 22604c86.
      
      We can't fix this issue in this way, because we now can try
      to take the dev_base_lock rwlock as a writer in software interrupt
      context and that is not allowed without major surgery elsewhere.
      
      This initial link state problem needs to be solved in some other
      way.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c276e098
  2. 05 Jan, 2009 8 commits