Skip to content
  1. Dec 13, 2009
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · 8d0e7fb9
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        slab, kmemleak: pass the correct pointer to kmemleak_erase()
        slab, kmemleak: stop calling kmemleak_erase() unconditionally
        SLAB: Fix unlikely() annotation in __cache_alloc_node()
        SLAB: Fix lockdep annotations for CPU hotplug
        SLUB: Fix __GFP_ZERO unlikely() annotation
        slub: allow stats to be cleared
      8d0e7fb9
    • Linus Torvalds's avatar
      Merge branch 'sched-fixes-for-linus' of... · 702a7c76
      Linus Torvalds authored
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)
        sched: Remove forced2_migrations stats
        sched: Fix memory leak in two error corner cases
        sched: Fix build warning in get_update_sysctl_factor()
        sched: Update normalized values on user updates via proc
        sched: Make tunable scaling style configurable
        sched: Fix missing sched tunable recalculation on cpu add/remove
        sched: Fix task priority bug
        sched: cgroup: Implement different treatment for idle shares
        sched: Remove unnecessary RCU exclusion
        sched: Discard some old bits
        sched: Clean up check_preempt_wakeup()
        sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call
        sched: Sanitize fork() handling
        sched: Clean up ttwu() rq locking
        sched: Remove rq->clock coupling from set_task_cpu()
        sched: Consolidate select_task_rq() callers
        sched: Remove sysctl.sched_features
        sched: Protect sched_rr_get_param() access to task->sched_class
        sched: Protect task->cpus_allowed access in sched_getaffinity()
        sched: Fix balance vs hotplug race
        ...
      
      Fixed up conflicts in kernel/sysctl.c (due to sysctl cleanup)
      702a7c76
  2. Dec 12, 2009
    • Pekka Enberg's avatar
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 053fe57a
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)
        net: Handle NETREG_UNINITIALIZED devices correctly
        can: add the driver for Analog Devices Blackfin on-chip CAN controllers
        xfrm: Fix truncation length of authentication algorithms installed via PF_KEY
        net: use compat helper functions in compat_sys_recvmmsg
        net: fix compat_sys_recvmmsg parameter type
        cxgb3: Fixing EEH handlers
        cnic: Zero out status block and Event Queue indices.
        cnic: Send delete command when shutting down iSCSI ring.
        net: smc91x: Fix up type mismatch in smc_drv_resume().
        smc91x: fix unused flags warnings on UP systems
        MAINTAINERS: Transfering maintainership of cdc-ether
        net: Add missing TST_CFG_WRITE bits around sky2_pci_write
        net: Fix Yukon-2 Optima TCP offload setup
        net: niu uses crc32, so select CRC32
        wireless: update old static regulatory domain rules
        mac80211: Revert 'Use correct sign for mesh active path refresh'
        mac80211: Fixed bug in mesh portal paths
        net/mac80211: Correct size given to memset
        b43: Remove reset after fatal DMA error
        rtl8187: add radio led and fix warnings on suspend
        ...
      053fe57a
    • Linus Torvalds's avatar
      Merge branch 'compat-ioctl-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground · 92340ee3
      Linus Torvalds authored
      * 'compat-ioctl-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground:
        usbdevfs: move compat_ioctl handling to devio.c
        lp: move compat_ioctl handling into lp.c
        compat_ioctl: pass compat pointer directly to handlers
        compat_ioctl: simplify lookup table
        compat_ioctl: simplify calling of handlers
        compat_ioctl: inline all conversion handlers
        compat_ioctl: Remove BKL
        compat_ioctl: remove all VT ioctl handling
      92340ee3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a1c36e52
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic: add sys_recvmmsg to unistd.h
        asm-generic: add sys_accept4 to unistd.h
        asm-generic/gpio.h: add some forward decls of the device struct
        asm-generic: Fix typo in asm-generic/unistd.h.
        lib/checksum: fix one more thinko
        lib/checksum.c: make do_csum optional
        lib/checksum.c: use 32-bit arithmetic consistently
      a1c36e52
    • Linus Torvalds's avatar
      Merge branch 'timers-fixes-for-linus' of... · 3070f27d
      Linus Torvalds authored
      Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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:
        itimer: Fix the itimer trace print format
        hrtimer: move timer stats helper functions to hrtimer.c
        hrtimer: Tune hrtimer_interrupt hang logic
      3070f27d
    • Linus Torvalds's avatar
      Merge branch 'core-fixes-for-linus' of... · 1e57c218
      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:
        lockdep: Avoid out of bounds array reference in save_trace()
        futex: Take mmap_sem for get_user_pages in fault_in_user_writeable
        lockstat: Add usage info to Documentation/lockstat.txt
        lockstat: Fix min, max times in /proc/lock_stats
      1e57c218
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · 75630098
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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/amd-iommu: Fix PCI hotplug with passthrough mode
        x86/amd-iommu: Fix passthrough mode
        x86: mmio-mod.c: Use pr_fmt
        x86: kmmio.c: Add and use pr_fmt(fmt)
        x86: i8254.c: Add pr_fmt(fmt)
        x86: setup_percpu.c: Use pr_<level> and add pr_fmt(fmt)
        x86: es7000_32.c: Use pr_<level> and add pr_fmt(fmt)
        x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs()
        x86: Factor duplicated code out of __show_regs() into show_regs_common()
        arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix
        x86, mce: fix confusion between bank attributes and mce attributes
        x86/mce: Set up timer unconditionally
        x86: Fix bogus warning in apic_noop.apic_write()
        x86: Fix typo in arch/x86/mm/kmmio.c
        x86: ASUS P4S800 reboot=bios quirk
      75630098
    • Linus Torvalds's avatar
      Merge branch 'tracing-fixes-for-linus' of... · df7147b3
      Linus Torvalds authored
      Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        tracing: Remove comparing of NULL to va_list in trace_array_vprintk()
        tracing: Fix function graph trace_pipe to properly display failed entries
        tracing: Add full state to trace_seq
        tracing: Buffer the output of seq_file in case of filled buffer
        tracing: Only call pipe_close if pipe_close is defined
        tracing: Add pipe_close interface
      df7147b3
    • Linus Torvalds's avatar
      Merge branch 'perf-fixes-for-linus' of... · 6f696eb1
      Linus Torvalds authored
      Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)
        x86, perf events: Check if we have APIC enabled
        perf_event: Fix variable initialization in other codepaths
        perf kmem: Fix unused argument build warning
        perf symbols: perf_header__read_build_ids() offset'n'size should be u64
        perf symbols: dsos__read_build_ids() should read both user and kernel buildids
        perf tools: Align long options which have no short forms
        perf kmem: Show usage if no option is specified
        sched: Mark sched_clock() as notrace
        perf sched: Add max delay time snapshot
        perf tools: Correct size given to memset
        perf_event: Fix perf_swevent_hrtimer() variable initialization
        perf sched: Fix for getting task's execution time
        tracing/kprobes: Fix field creation's bad error handling
        perf_event: Cleanup for cpu_clock_perf_event_update()
        perf_event: Allocate children's...
      6f696eb1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://codeaurora.org/quic/kernel/dwalker/linux-msm · c4e194e3
      Linus Torvalds authored
      * 'for-linus' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
        HTC Dream: mmc compilation fixes
        video: Allow selecting MSM framebuffer in Kconfig
        Add arm msm maintainer entry
        msm: Add memory map for HTC Dream
        msm: add minimal board file for HTC Dream device
        msm: make debugging UART (for DEBUG_LL) configurable
      c4e194e3
    • David S. Miller's avatar
      Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ · 50170656
      David S. Miller authored
      Conflicts:
      	include/net/tcp.h
      50170656
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq · 2fe77b81
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
        [ACPI/CPUFREQ] Introduce bios_limit per cpu cpufreq sysfs interface
        [CPUFREQ] make internal cpufreq_add_dev_* static
        [CPUFREQ] use an enum for speedstep processor identification
        [CPUFREQ] Document units for transition latency
        [CPUFREQ] Use global sysfs cpufreq structure for conservative governor tunings
        [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/
        [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used
        [CPUFREQ] cpumask: don't put a cpumask on the stack in x86...cpufreq/powernow-k8.c
      2fe77b81
    • Greg Kroah-Hartman's avatar
      Staging: batman: fix debug Kconfig option · cb5228a6
      Greg Kroah-Hartman authored
      
      
      The debug batman option needs to depend on the correct
      config option.
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      [ "No means no!"  - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb5228a6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · 0f4974c4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits)
        tty: split the lock up a bit further
        tty: Move the leader test in disassociate
        tty: Push the bkl down a bit in the hangup code
        tty: Push the lock down further into the ldisc code
        tty: push the BKL down into the handlers a bit
        tty: moxa: split open lock
        tty: moxa: Kill the use of lock_kernel
        tty: moxa: Fix modem op locking
        tty: moxa: Kill off the throttle method
        tty: moxa: Locking clean up
        tty: moxa: rework the locking a bit
        tty: moxa: Use more tty_port ops
        tty: isicom: fix deadlock on shutdown
        tty: mxser: Use the new locking rules to fix setserial properly
        tty: mxser: use the tty_port_open method
        tty: isicom: sort out the board init logic
        tty: isicom: switch to the new tty_port_open helper
        tty: tty_port: Add a kref object to the tty port
        tty: istallion: tty port open/close methods
        tty: stallion: Convert to the tty_port_open/close methods
        ...
      0f4974c4
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 · 3126c136
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits)
        ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()
        ext3: Fix data / filesystem corruption when write fails to copy data
        ext4: Support for 64-bit quota format
        ext3: Support for vfsv1 quota format
        quota: Implement quota format with 64-bit space and inode limits
        quota: Move definition of QFMT_OCFS2 to linux/quota.h
        ext2: fix comment in ext2_find_entry about return values
        ext3: Unify log messages in ext3
        ext2: clear uptodate flag on super block I/O error
        ext2: Unify log messages in ext2
        ext3: make "norecovery" an alias for "noload"
        ext3: Don't update the superblock in ext3_statfs()
        ext3: journal all modifications in ext3_xattr_set_handle
        ext2: Explicitly assign values to on-disk enum of filetypes
        quota: Fix WARN_ON in lookup_one_len
        const: struct quota_format_ops
        ubifs: remove manual O_SYNC handling
        afs: remove manual O_SYNC handling
        kill wait_on_page_writeback_range
        vfs: Implement proper O_SYNC semantics
        ...
      3126c136
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · f4d544ee
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: Fix error return for fallocate() on XFS
        xfs: cleanup dmapi macros in the umount path
        xfs: remove incorrect sparse annotation for xfs_iget_cache_miss
        xfs: kill the STATIC_INLINE macro
        xfs: uninline xfs_get_extsz_hint
        xfs: rename xfs_attr_fetch to xfs_attr_get_int
        xfs: simplify xfs_buf_get / xfs_buf_read interfaces
        xfs: remove IO_ISAIO
        xfs: Wrapped journal record corruption on read at recovery
        xfs: cleanup data end I/O handlers
        xfs: use WRITE_SYNC_PLUG for synchronous writeout
        xfs: reset the i_iolock lock class in the reclaim path
        xfs: I/O completion handlers must use NOFS allocations
        xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks
        xfs: simplify inode teardown
      f4d544ee
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 0e2f7b83
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (235 commits)
        Staging: IIO: add selection of IIO_SW_RING to LIS3L02DQ as needed
        Staging: IIO: Add tsl2560-2 support to tsl2563 driver.
        Staging: IIO: Remove tsl2561 driver. Support merged with tsl2563.
        Staging: wlags49_h2: fix up signal levels
        + drivers-staging-wlags49_h2-remove-cvs-metadata.patch added to -mm tree
        Staging: samsung-laptop: add TODO file
        Staging: samsung-laptop: remove old kernel code
        Staging: add Samsung Laptop driver
        staging: batman-adv meshing protocol
        Staging: rtl8192u: depends on USB
        Staging: rtl8192u: remove dead code
        Staging: rtl8192u: remove bad whitespaces
        Staging: rtl8192u: make it compile
        Staging: Added Realtek rtl8192u driver to staging
        Staging: dream: add gpio and pmem support
        Staging: dream: add TODO file
        Staging: android: delete android drivers
        Staging: et131x: clean up the avail fields in the rx registers
        Staging: et131x: Clean up number fields
        Staging: et131x: kill RX_DMA_MAX_PKT_TIME
        ...
      0e2f7b83
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · f58df54a
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (27 commits)
        Driver core: fix race in dev_driver_string
        Driver Core: Early platform driver buffer
        sysfs: sysfs_setattr remove unnecessary permission check.
        sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir
        sysfs: Propagate renames to the vfs on demand
        sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish
        sysfs: In sysfs_chmod_file lazily propagate the mode change.
        sysfs: Implement sysfs_getattr & sysfs_permission
        sysfs: Nicely indent sysfs_symlink_inode_operations
        sysfs: Update s_iattr on link and unlink.
        sysfs: Fix locking and factor out sysfs_sd_setattr
        sysfs: Simplify iattr time assignments
        sysfs: Simplify sysfs_chmod_file semantics
        sysfs: Use dentry_ops instead of directly playing with the dcache
        sysfs: Rename sysfs_d_iput to sysfs_dentry_iput
        sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex
        debugfs: fix create mutex racy fops and private data
        Driver core: Don't remove kobjects in device_shutdown.
        firmware_class: make request_firmware_nowait more useful
        Driver-Core: devtmpfs - set root directory mode to 0755
        ...
      f58df54a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · 748e566b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (122 commits)
        USB: mos7840: add device IDs for B&B electronics devices
        USB: ftdi_sio: add USB device ID's for B&B Electronics line
        USB: musb: musb_host: fix sparse warning
        USB: musb: musb_gadget: fix sparse warning
        USB: musb: omap2430: fix sparse warning
        USB: core: message: fix sparse warning
        USB: core: hub: fix sparse warning
        USB: core: fix sparse warning for static function
        USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS
        USB: Check bandwidth when switching alt settings.
        USB: Refactor code to find alternate interface settings.
        USB: xhci: Fix command completion after a drop endpoint.
        USB: xhci: Make reverting an alt setting "unfailable".
        USB: usbtmc: Use usb_clear_halt() instead of custom code.
        USB: xhci: Add correct email and files to MAINTAINERS entry.
        USB: ehci-omap.c: introduce missing kfree
        USB: xhci-mem.c: introduce missing kfree
        USB: add remove_id sysfs attr for usb drivers
        USB: g_multi kconfig: fix depends and help text
        USB: option: add pid for ZTE
        ...
      748e566b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · 5f1141eb
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firewire: ohci: handle receive packets with a data length of zero
      5f1141eb
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb · 880188b2
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
        kgdb: Always process the whole breakpoint list on activate or deactivate
        kgdb: continue and warn on signal passing from gdb
        kgdb,x86: do not set kgdb_single_step on x86
        kgdb: allow for cpu switch when single stepping
        kgdb,i386: Fix corner case access to ss with NMI watch dog exception
        kgdb: Replace strstr() by strchr() for single-character needles
        kgdbts: Read buffer overflow
        kgdb: Read buffer overflow
        kgdb,x86: remove redundant test
      880188b2
    • Alan Cox's avatar
      tty: split the lock up a bit further · 36ba782e
      Alan Cox authored
      
      
      The tty count sanity check may need the BKL, that isn't clear. However it
      is clear that the count use of the lock is internal and independant of the
      bigger use of the lock.
      
      Furthermore the file list locking is also separately locked already
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      36ba782e
    • Alan Cox's avatar
      tty: Move the leader test in disassociate · 5ec93d11
      Alan Cox authored
      
      
      There are two call points, both want to check that tty->signal->leader is
      set. Move the test into disassociate_ctty() as that will make locking
      changes easier in a bit
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5ec93d11
    • Alan Cox's avatar
      tty: Push the bkl down a bit in the hangup code · 38c70b27
      Alan Cox authored
      
      
      We know that the redirect field is handled via its own locking in all
      places
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      38c70b27
    • Alan Cox's avatar
      f18f9498
    • Alan Cox's avatar
      tty: push the BKL down into the handlers a bit · eeb89d91
      Alan Cox authored
      
      
      Start trying to untangle the remaining BKL mess
      
      Updated to fix missing unlock_kernel noted by Dan Carpenter
      
      Signed-off-by: default avatarAlan "I must be out of my tree" Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      eeb89d91
    • Alan Cox's avatar
      tty: moxa: split open lock · e8c62103
      Alan Cox authored
      
      
      moxa_openlock is used for several situations where we want to handle the
      case of an ioctl that crosses many ports (not just the open tty), and also
      cases where an open races a deinit (eg a pci unplug) and we hangup a port
      before we can cope with that.
      
      The non open race cases can use the moxa_lock spinlock. This simplifies sorting
      out the remaining mess.
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e8c62103
    • Alan Cox's avatar
      tty: moxa: Kill the use of lock_kernel · f710ebd7
      Alan Cox authored
      
      
      It isn't needed here any more
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f710ebd7
    • Alan Cox's avatar
      tty: moxa: Fix modem op locking · 8482bcd5
      Alan Cox authored
      
      
      This is overkill and mostly not needed
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8482bcd5
    • Alan Cox's avatar
      tty: moxa: Kill off the throttle method · f9b412a8
      Alan Cox authored
      
      
      The tty flag can be tested so the shadow flag isn't needed
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f9b412a8
    • Alan Cox's avatar
      tty: moxa: Locking clean up · a808ac0c
      Alan Cox authored
      
      
      - The open lock is needed to fix up the case of a board reset occuring during
        tty open but too early for a sane hangup response.
      - The lock can however got for other cases
      - Use the port mutex for get/setserial
      - Fix up the confused lack of locking on the THROTTLE and other bits in the
        private flags. Just use set/test/clear bit and it covers the cases we need
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a808ac0c
    • Alan Cox's avatar
      tty: moxa: rework the locking a bit · f5c5a36d
      Alan Cox authored
      
      
      Introduce a lock for moxafunc() to protect the cases where were get collisions
      between two function requests at the same time.
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f5c5a36d
    • Alan Cox's avatar
      tty: moxa: Use more tty_port ops · f176178b
      Alan Cox authored
      
      
      Rework a few bits of this into tty_port format
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f176178b
    • Alan Cox's avatar
      tty: isicom: fix deadlock on shutdown · 2493c0c1
      Alan Cox authored
      
      
      Alexander Strakh <strakh@ispras.ru> reported
      
      	KERNEL_VERSION: 2.6.31
      	DESCRIBE:
      Driver drivers/char/isicom.c might sleep in atomic  context, because it
      calls 
      tty_port_xmit_buf under spin_lock.
      
      ./drivers/char/isicom.c:
      1307 static void isicom_hangup(struct tty_struct *tty)
      1308 {
      ...
      1315         spin_lock_irqsave(&port->card->card_lock, flags);
      1316         isicom_shutdown_port(port);
      ...
      
      Path to might_sleep macro from isicom_hangup:
      1. isicom_hangup calls spin_lock_irqsave (drivers/char/isicom.c:1315) and
      then 
      calls isicom_shutdown_port.
      2. isiscom_shutdown_port calls tty_port_free_xmit_buf at 
      drivers/char/isicom.c:906
      3. tty_port_free_xmit_buf calls mutex_lock at drivers/char/tty_port:48
      
      Found by Linux Driver Verification Project.
      
      Reported-by: default avatarAlexander Strakh <strakh@ispras.ru>
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2493c0c1
    • Alan Cox's avatar
      tty: mxser: Use the new locking rules to fix setserial properly · 07f86c03
      Alan Cox authored
      
      
      Propogate the init/shutdown mutex through the setserial logic. Use the proper
      locks for the various bits still using the BKL. Kill the BKL in this driver.
      
      Updated to fix the bug noted by Dan Carpenter
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      07f86c03
    • Alan Cox's avatar
      tty: mxser: use the tty_port_open method · 6769140d
      Alan Cox authored
      
      
      At first this looks a fairly trivial conversion but we can't quite push
      everything into the right format yet. The open side is easy but care is needed
      over the setserial methods. Fix up the locking now that we've adopted the
      port->mutex locking rule for the initialization.
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6769140d
    • Alan Cox's avatar
      tty: isicom: sort out the board init logic · 6ed847d8
      Alan Cox authored
      
      
      Split this into two flags - INIT meaning the board is set up and ACTIVE
      meaning the board has ports open. Remove the broken HUPCL casing and push
      the counts somewhere sensible.
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6ed847d8
    • Alan Cox's avatar
      tty: isicom: switch to the new tty_port_open helper · baaa08ac
      Alan Cox authored
      
      
      Trivial conversion in this case so might as well do it while testing the
      port_open design is right
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      baaa08ac