05 Oct, 2009

10 commits

  • If i2c device probing fails, then there is no driver to dereference
    after calling i2c_new_device(). Stop assuming that probing will always
    succeed, to avoid NULL pointer dereferences. We have an easier access
    to the driver anyway.

    Signed-off-by: Jean Delvare
    Tested-by: Tim Shepard
    Cc: Colin Leroy

    Jean Delvare
     
  • When an ACPI resource conflict is detected, error messages are already
    printed by ACPI. There's no point in causing the driver core to print
    more error messages, so return one of the error codes for which no
    message is printed.

    This fixes bug #14293:
    http://bugzilla.kernel.org/show_bug.cgi?id=14293

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • The sysfs path to i2c adapters has changed recently, update the
    documentation to reflect that change.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • The I2C_CLIENT_INSMOD_1 macro is only useful for i2c drivers which
    implement device detection. The ab3100 driver doesn't, so there is no
    point in calling it.

    Signed-off-by: Jean Delvare
    Acked-by: Linus Walleij
    Cc: Samuel Ortiz

    Jean Delvare
     
  • The I2C_CLIENT_INSMOD macro is only useful for i2c drivers which
    implement device detection. The tsl2561 driver doesn't, so there
    is no point in calling it.

    Signed-off-by: Jean Delvare
    Cc: Jonathan Cameron

    Jean Delvare
     
  • The I2C_CLIENT_INSMOD_1 macro is only useful for i2c drivers which
    implement device detection. The leds-pca9532 driver doesn't, so there
    is no point in calling it.

    Signed-off-by: Jean Delvare
    Cc: Richard Purdie
    Cc: Riku Voipio

    Jean Delvare
     
  • There is no point in implementing a detect callback for the LTC4215
    and LTC4245, as these devices can't be detected. It was there solely
    to handle "force" module parameters to instantiate devices, but now
    we have a better sysfs interface that can do the same.

    So we can get rid of the ugly module parameters and the detect
    callbacks. This shrinks the binary module sizes by 36% and 46%,
    respectively.

    Signed-off-by: Jean Delvare
    Cc: Ira W. Snyder

    Jean Delvare
     
  • There is no point in implementing a detect callback for the DS2482, as
    this device can't be detected. It was there solely to handle "force"
    module parameters to instantiate devices, but now we have a better sysfs
    interface that can do the same.

    So we can get rid of the ugly module parameters and the detect callback.
    This shrinks the binary module size by 21%.

    Signed-off-by: Jean Delvare
    Acked-by: Ben Gardner

    Jean Delvare
     
  • There is no point in implementing a detect callback for the MAX6875, as
    this device can't be detected. It was there solely to handle "force"
    module parameters to instantiate devices, but now we have a better sysfs
    interface that can do the same.

    So we can get rid of the ugly module parameters and the detect callback.
    This basically divides the binary module size by 2.

    Signed-off-by: Jean Delvare
    Acked-by: Wolfram Sang
    Acked-by: Ben Gardner

    Jean Delvare
     
  • Some times ago the eeprom and max6875 drivers moved to
    drivers/misc/eeprom, but their documentation did not follow. It's
    finally time to get rid of Documentation/i2c/chips.

    Signed-off-by: Jean Delvare
    Cc: Ben Gardner
    Acked-by: Wolfram Sang

    Jean Delvare
     

04 Oct, 2009

12 commits

  • * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
    m32r: Fix IPI function calls for SMP
    m32r: Fix set_memory() for DISCONTIGMEM
    m32r: add rtc_lock variable
    m32r: define ioread* and iowrite* macros
    m32r: export delay loop symbols
    m32r: fix tme_handler

    Linus Torvalds
     
  • A couple of people have hit the WARN_ON() in drivers/char/tty_io.c,
    tty_open() that is unhappy about seeing the tty line discipline go away
    during the tty hangup. See for example

    http://bugzilla.kernel.org/show_bug.cgi?id=14255

    and the reason is that we do the tty_ldisc_halt() outside the
    ldisc_mutex in order to be able to flush the scheduled work without a
    deadlock with vhangup_work.

    However, it turns out that we can solve this particular case by

    - using "cancel_delayed_work_sync()" in tty_ldisc_halt(), which waits
    for just the particular work, rather than synchronizing with any
    random outstanding pending work.

    This won't deadlock, since the buf.work we synchronize with doesn't
    care about the ldisc_mutex, it just flushes the tty ldisc buffers.

    - realize that for this particular case, we don't need to wait for any
    hangup work, because we are inside the hangup codepaths ourselves.

    so as a result we can just drop the flush_scheduled_work() entirely, and
    then move the tty_ldisc_halt() call to inside the mutex. That way we
    never expose the partially torn down ldisc state to tty_open(), and hold
    the ldisc_mutex over the whole sequence.

    Reported-by: Ingo Molnar
    Reported-by: Heinz Diehl
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This patch fixes the m32r SMP kernel after 2.6.27.

    A part of the following patch breaks m32r SMP operation.
    > m32r: convert to generic helpers for IPI function calls
    > commit 7b7426c8a615cf61df9a77b9df7d5b75d91e3fa0

    In the above patch, a CALL_FUNC_SINGLE_IPI was newly introduced,
    but the its IPI vector number was wrong in the patch code.

    The m32r SMP kernel hanged-up during boot operation, because
    the CPU_BOOT_IPI was called instead of CALL_FUNC_SINGLE_IPI
    (CPU_BOOT_IPI had no side effect at that time because the 2nd
    core had already been started up),
    as a result, csd_unlock() was not called, then a dead lock
    occurred in csd_lock_wait() after the detection of Compact Flash
    memory as IDE generic disk.

    Signed-off-by: Toshihiro HANAWA
    Signed-off-by: Hirokazu Takata

    Toshihiro HANAWA
     
  • In case CONFIG_DISCONTIGMEM is set, the memory size of system was
    always determined by CONFIG_MEMORY_SIZE and was not changeable.

    This patch fixes set_memory() of arch/m32r/mm/discontig.c so that
    we can specify memory size by the "mem=" kernel parameter.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Add a spinlock variable "rtc_lock".
    This is taken from arch/arm/kernel/time.c.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Define ioread* and iowrite* macros to fix the following build errors:

    CC [M] drivers/uio/uio_smx.o
    drivers/uio/uio_smx.c: In function 'smx_handler':
    drivers/uio/uio_smx.c:31: error: implicit declaration of function 'ioread32'
    drivers/uio/uio_smx.c:37: error: implicit declaration of function 'iowrite32'

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • - Move EXPORT_SYMBOL lines of delay loop functions
    from arch/m32r/kernel/m32r_ksyms.c to arch/m32r/lib/delay.c.
    - Export __ndelay.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Fix pmd_bad check code of tme_handler (TLB Miss Exception handler).
    The correct _KERNPG_TABLE value is not 0x263(=611) but 0x163.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • * 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (21 commits)
    ALSA: usb - Use strlcat() correctly
    ALSA: Fix invalid __exit in sound/mips/*.c
    ALSA: hda - Fix / improve ALC66x parser
    ALSA: ctxfi: Swapped SURROUND-SIDE mute
    sound: Make keywest_driver static
    ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-B1VP
    ALSA: hda - Fix digita/analog mic auto-switching with IDT codecs
    ASoC: fix kconfig order of Blackfin drivers
    ALSA: hda - Added quirk to enable sound on Toshiba NB200
    ASoC: Fix dependency of CONFIG_SND_PXA2XX_SOC_IMOTE2
    ALSA: Don't assume i2c device probing always succeeds
    ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-T350P
    ALSA: echoaudio - Re-enable the line-out control for the Mia card
    ALSA: hda - Resurrect input-source mixer of ALC268 model=acer
    ALSA: hda - Analog Devices AD1984A add HP Touchsmart model
    ALSA: hda - Add HP Pavilion dv4t-1300 to MSI whitelist
    ALSA: hda - CD-audio sound for hda-intel conexant benq laptop
    ASoC: DaVinci: Correct McASP FIFO initialization
    ASoC: Davinci: Fix race with cpu_dai->dma_data
    ASoC: DaVinci: Fix divide by zero error during 1st execution
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    [PATCH] ext4: retry failed direct IO allocations
    ext4: Fix build warning in ext4_dirty_inode()
    ext4: drop ext4dev compat
    ext4: fix a BUG_ON crash by checking that page has buffers attached to it

    Linus Torvalds
     
  • Takashi Iwai
     
  • Takashi Iwai
     

03 Oct, 2009

18 commits

  • On a 256M filesystem, doing this in a loop:

    xfs_io -F -f -d -c 'pwrite 0 64m' test
    rm -f test

    eventually leads to ENOSPC. (the xfs_io command does a
    64m direct IO write to the file "test")

    As with other block allocation callers, it looks like we need to
    potentially retry the allocations on the initial ENOSPC.

    Signed-off-by: Eric Sandeen
    Signed-off-by: "Theodore Ts'o"

    Eric Sandeen
     
  • This fixes the following warning:

    fs/ext4/inode.c: In function 'ext4_dirty_inode':
    fs/ext4/inode.c:5615: warning: unused variable 'current_handle'

    We remove the jbd_debug() statement which does use current_handle, as
    it's not terribly important in the grand scheme of things.

    Thanks to Stephen Rothwell for pointing this out.

    Signed-off-by: Curt Wohlgemuth
    Signed-off-by: "Theodore Ts'o"

    Curt Wohlgemuth
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits)
    ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7
    ARM: 5727/1: Pass IFSR register to do_PrefetchAbort()
    ARM: 5740/1: fix valid_phys_addr_range() range check
    ARM: 5739/1: ARM: allow empty ATAG_CORE
    ARM: 5735/1: sa1111: CodingStyle cleanups
    ARM: 5738/1: Correct TCM documentation
    ARM: 5734/1: arm: fix compilation of entry-common.S for older CPUs
    ARM: 5733/1: fix bcmring compile error
    ARM: 5732/1: remove redundant include file
    ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3
    ARM: Ensure do_cache_op takes mmap_sem
    ARM: Fix __cpuexit section mismatch warnings
    ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcast
    ARM: includecheck fix: mach-davinci, board-dm365-evm.c
    ARM: Remove unused CONFIG SA1100_H3XXX
    ARM: Fix warning: unused variable 'highmem'
    ARM: Fix warning: #warning syscall migrate_pages not implemented
    ARM: Fix SA11x0 clocksource warning
    ARM: Fix SA1100 Neponset serial section mismatch
    ARM: Fix SA1100 Assabet/Neponset PCMCIA section mismatch warnings
    ...

    Linus Torvalds
     
  • Currently, on ARMv6 and ARMv7, if an application tries to execute
    code (or garbage) on non-executable page it hangs. It caused by
    incorrect prefetch abort handling. Now every prefetch abort
    processes as a translation fault.

    To fix this we have to analyze instruction fault status register
    to figure out reason why we've got the abort and process it
    accordingly.

    To make IFSR different from DFSR we set bit 31 which is reserved in
    both IFSR and DFSR.

    This patch also tries to protect from future hangs on unexpected
    exceptions. An application will be killed if unexpected exception
    type was received.

    Signed-off-by: Kirill A. Shutemov
    Signed-off-by: Russell King

    Kirill A. Shutemov
     
  • Instruction fault status register, IFSR, was introduced on ARMv6 to
    provide status information about the last insturction fault. It
    needed for proper prefetch abort handling.

    Now we have three prefetch abort model:

    * legacy - for CPUs before ARMv6. They doesn't provide neither
    IFSR nor IFAR. We simulate IFSR with section translation fault
    status for them to generalize code;
    * ARMv6 - provides IFSR, but not IFAR;
    * ARMv7 - provides both IFSR and IFAR.

    Signed-off-by: Kirill A. Shutemov
    Signed-off-by: Russell King

    Kirill A. Shutemov
     
  • Commit 1522ac3ec95ff0230e7aa516f86b674fdf72866c
    ("Fix virtual to physical translation macro corner cases")
    breaks the end of memory check in valid_phys_addr_range().
    The modified expression results in the apparent /dev/mem size
    being 2 bytes smaller than what it actually is.

    This patch reworks the expression to correctly check the address,
    while maintaining use of a valid address to __pa().

    Signed-off-by: Greg Ungerer
    Signed-off-by: Russell King

    Greg Ungerer
     
  • From: David Brown

    The ATAG_CORE is allowed to be empty. Although this is handled
    by parse_tag_core(), __vet_atags during startup rejects this tag
    unless it contains data. Allow the initial tag to be either the
    full size, or empty.

    Signed-off-by: David Brown
    Signed-off-by: Russell King

    David Brown
     
  • EXPORT_* macros should follow immediately after the closing function
    brace line.

    Signed-off-by: H Hartley Sweeten
    Acked-by: Kristoffer Ericson
    Signed-off-by: Russell King

    Hartley Sweeten
     
  • Conflicts:
    MAINTAINERS

    Russell King
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)
    cnic: Fix NETDEV_UP event processing.
    uvesafb/connector: Disallow unpliviged users to send netlink packets
    pohmelfs/connector: Disallow unpliviged users to configure pohmelfs
    dst/connector: Disallow unpliviged users to configure dst
    dm/connector: Only process connector packages from privileged processes
    connector: Removed the destruct_data callback since it is always kfree_skb()
    connector/dm: Fixed a compilation warning
    connector: Provide the sender's credentials to the callback
    connector: Keep the skb in cn_callback_data
    e1000e/igb/ixgbe: Don't report an error if devices don't support AER
    net: Fix wrong sizeof
    net: splice() from tcp to pipe should take into account O_NONBLOCK
    net: Use sk_mark for routing lookup in more places
    sky2: irqname based on pci address
    skge: use unique IRQ name
    IPv4 TCP fails to send window scale option when window scale is zero
    net/ipv4/tcp.c: fix min() type mismatch warning
    Kconfig: STRIP: Remove stale bits of STRIP help text
    NET: mkiss: Fix typo
    tg3: Remove prev_vlan_tag from struct tx_ring_info
    ...

    Linus Torvalds
     
  • This fixes the problem of not handling the NETDEV_UP event properly
    during hot-plug or modprobe of bnx2 after cnic. The handling was
    skipped by mistakenly using "else if" to check for the event.

    Also update version to 2.0.1.

    Signed-off-by: Michael Chan
    Signed-off-by: Benjamin Li
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Signed-off-by: Philipp Reisner
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Acked-by: Lars Ellenberg
    Acked-by: Evgeniy Polyakov
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Acked-by: Lars Ellenberg
    Acked-by: Evgeniy Polyakov
    Signed-off-by: David S. Miller

    Philipp Reisner
     
  • Signed-off-by: Philipp Reisner
    Acked-by: Lars Ellenberg
    Acked-by: Evgeniy Polyakov
    Signed-off-by: David S. Miller

    Philipp Reisner