11 Apr, 2006

1 commit

  • initramfs.cpio.gz being build in usr/ and included in the
    kernel was not rebuild when the included files changed.

    To fix this the following was done:
    - let gen_initramfs.sh generate a list of files and directories included
    in the initramfs
    - gen_initramfs generate the gzipped cpio archive so we could simplify
    the kbuild file (Makefile)
    - utilising the kbuild infrastructure so when uid/gid root mapping changes
    the initramfs will be rebuild

    With this change we have a much more robust initramfs generation.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

07 Apr, 2006

1 commit

  • This fix a longstanding bug where proper options was not
    passed to hostcc in case of a make O=.. build.
    This bug showed up in (not yet merged) klibc, and is not known
    to have any counterpart in-kernel.
    Fixed by moving the flags macro to Kbuild.include so it can be used
    by both Makefile.lib and Makefile.host.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

06 Apr, 2006

2 commits

  • When installing external modules with `make modules_install', the
    first thing that happens is a rm -rf of the target directory. This
    works only once, and breaks when installing more than one (set of)
    external module(s).
    With following fix we have the functionality:
    - for a in-kernel modules_install the $(MODLIB)/kernel directory will be
    deleted before module installation
    - for external modules the existing modules will be left as is assuming
    one may be building and installign several external modules

    Signed-off-by: Andreas Gruenbacher
    Signed-off-by: Sam Ravnborg

    Andreas Gruenbacher
     
  • kbuild added an extra '/' after the directory - resulting in all
    files being rebuild in a subdirectory.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

05 Apr, 2006

3 commits


04 Apr, 2006

4 commits


03 Apr, 2006

29 commits

  • Close of the merge window..

    Linus Torvalds
     
  • Apparently nobody had tried to compile the ALSA CVS tree without power
    management enabled.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block:
    [PATCH] splice: fix page stealing LRU handling.
    [PATCH] splice: page stealing needs to wait_on_page_writeback()
    [PATCH] splice: export generic_splice_sendpage
    [PATCH] splice: add a SPLICE_F_MORE flag
    [PATCH] splice: add comments documenting more of the code
    [PATCH] splice: improve writeback and clean up page stealing
    [PATCH] splice: fix shadow[] filling logic

    Linus Torvalds
     
  • Originally from Nick Piggin, just adapted to the newer branch.

    You can't check PageLRU without holding zone->lru_lock. The page
    release code can get away with it only because the page refcount is 0 at
    that point. Also, you can't reliably remove pages from the LRU unless
    the refcount is 0. Ever.

    Signed-off-by: Nick Piggin
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Thanks to Andrew for the good explanation of why this is so. akpm writes:

    If a page is under writeback and we remove it from pagecache, it's still
    going to get written to disk. But the VFS no longer knows about that page,
    nor that this page is about to modify disk blocks.

    So there might be scenarios in which those
    blocks-which-are-about-to-be-written-to get reused for something else.
    When writeback completes, it'll scribble on those blocks.

    This won't happen in ext2/ext3-style filesystems in normal mode because the
    page has buffers and try_to_release_page() will fail.

    But ext2 in nobh mode doesn't attach buffers at all - it just sticks the
    page in a BIO, finds some new blocks, points the BIO at those blocks and
    lets it rip.

    While that write IO's in flight, someone could truncate the file. Truncate
    won't block on the writeout because the page isn't in pagecache any more.
    So truncate will the free the blocks from the file under the page's feet.
    Then something else can reallocate those blocks. Then write data to them.

    Now, the original write completes, corrupting the filesystem.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Forgot that one, thanks Jeff. Also move the other EXPORT_SYMBOL
    to right below the functions.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • This lets userspace indicate whether more data will be coming in a
    subsequent splice call.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Hopefully this will make Andrew a little more happy.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • By cleaning up the writeback logic (killing write_one_page() and the manual
    set_page_dirty()), we can get rid of ->stolen inside the pipe_buffer and
    just keep it local in pipe_to_file().

    This also adds dirty page balancing logic and O_SYNC handling.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Clear the entire range, and don't increment pidx or we keep filling
    the same position again and again.

    Thanks to KAMEZAWA Hiroyuki.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (27 commits)
    [ARM] 3433/1: ARM: OMAP: 8/8 Update board files
    [ARM] 3455/1: ARM: OMAP: 7/8 Misc updates, take 2
    [ARM] 3454/1: ARM: OMAP: 6/8 Update framebuffer low-level init code, take 2
    [ARM] 3430/1: ARM: OMAP: 5/8 Update PM
    [ARM] 3429/1: ARM: OMAP: 4/8 Update GPIO
    [ARM] 3428/1: ARM: OMAP: 3/8 Update pin multiplexing
    [ARM] 3427/1: ARM: OMAP: 2/8 Update timers
    [ARM] 3426/1: ARM: OMAP: 1/8 Update clock framework
    [ARM] 3396/2: AT91RM9200 Platform devices update
    [ARM] 3395/2: AT91RM9200 Dataflash Card vs MMC selection
    [ARM] 3393/2: AT91RM9200 LED support
    [ARM] 3453/1: Poodle: Correctly set the memory size
    [ARM] 3446/1: i.MX: MMC/SD SDHC controller registration for i.MX/MX1 MX1ADS board
    [ARM] 3444/1: i.MX: Scatter-gather DMA emulation for i.MX/MX1
    [ARM] 3451/1: ep93xx: use the m48t86 rtc driver on the ts72xx platform
    [ARM] 3450/1: ep93xx: use the ep93xx rtc driver
    [ARM] 3452/1: [S3C2410] RX3715 - add nand information
    [ARM] 3449/1: [S3C2410] Anubis - fix NAND timings
    [ARM] 3448/1: [S3C2410] Settle delay when _enabling_ USB PLL
    [ARM] 3442/1: [S3C2410] SMDK: NAND device setup
    ...

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-mmc:
    [ARM] 3457/1: i.MX: SD/MMC support for i.MX/MX1
    [ARM] 3456/1: AT91RM9200 support for 2.6 (MMC/SD driver)

    Linus Torvalds
     
  • * git://oss.sgi.com:8090/oss/git/xfs-2.6:
    [XFS] Provide XFS support for the splice syscall.
    [XFS] Reenable write barriers by default.
    [XFS] Make project quota enforcement return an error code consistent with
    [XFS] Implement the silent parameter to fill_super, previously ignored.
    [XFS] Cleanup comment to remove reference to obsoleted function

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (28 commits)
    [ALSA] Kconfig SND_SEQUENCER_OSS help text fix
    [ALSA] Add Aux input switch control for Aureon Universe
    [ALSA] pcxhr - Fix the crash with REV01 board
    [ALSA] sound/pci/hda: use create_singlethread_workqueue()
    [ALSA] hda-intel - Add support of ATI SB600
    [ALSA] cs4281 - Fix the check of timeout in probe
    [ALSA] cs4281 - Fix the check of right channel
    [ALSA] Test volume resolution of usb audio at initialization
    [ALSA] maestro3.c: fix BUG, optimization
    [ALSA] HDA/Realtek: multiple input mux definitions and pin mode additions
    [ALSA] AdLib FM card driver
    [ALSA] Fix / clean up PCM-OSS setup hooks
    [ALSA] Clean up PCM codes (take 2)
    [ALSA] Tiny clean up of PCM codes
    [ALSA] ISA drivers bailing on first !enable[i]
    [ALSA] Remove obsolete kfree_nocheck call
    [ALSA] Remove obsolete kfree_nocheck call
    [ALSA] Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
    [ALSA] Add snd-riptide driver for Conexant Riptide chip
    [ALSA] hda-codec - Fix noisy output wtih AD1986A 3stack model
    ...

    Linus Torvalds
     
  • No one should be writing a PAGE_SIZE worth of data to a normal sysfs
    file, so properly terminate the buffer.

    Thanks to Al Viro for pointing out my supidity here.

    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Greg Kroah-Hartman
     
  • This reverts the mutex conversion that was recently done to the hdaps
    driver; this coversion was buggy because the hdaps driver started using
    this semaphore in IRQ context, which mutexes do not allow. Easiest
    solution for now is to just revert the patch (the patch was part of a
    bigger GIT commit, 9a61bf6300533d3b64d7ff29adfec00e596de67d but this
    only reverts this one file)

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver
    [WATCHDOG] pcwd_usb.c: fix a NULL pointer dereference
    [WATCHDOG] pcwd.c sprintf/strcpy fix
    [WATCHDOG] pcwd.c general clean-up after patches
    [WATCHDOG] pcwd.c add debug info
    [WATCHDOG] pcwd.c pcwd_cleanup_module patch
    [WATCHDOG] pcwd.c firmware-info patch
    [WATCHDOG] pcwd.c control status patch

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (48 commits)
    Documentation: fix minor kernel-doc warnings
    BUG_ON() Conversion in drivers/net/
    BUG_ON() Conversion in drivers/s390/net/lcs.c
    BUG_ON() Conversion in mm/slab.c
    BUG_ON() Conversion in mm/highmem.c
    BUG_ON() Conversion in kernel/signal.c
    BUG_ON() Conversion in kernel/signal.c
    BUG_ON() Conversion in kernel/ptrace.c
    BUG_ON() Conversion in ipc/shm.c
    BUG_ON() Conversion in fs/freevxfs/
    BUG_ON() Conversion in fs/udf/
    BUG_ON() Conversion in fs/sysv/
    BUG_ON() Conversion in fs/inode.c
    BUG_ON() Conversion in fs/fcntl.c
    BUG_ON() Conversion in fs/dquot.c
    BUG_ON() Conversion in md/raid10.c
    BUG_ON() Conversion in md/raid6main.c
    BUG_ON() Conversion in md/raid5.c
    Fix minor documentation typo
    BFP->BPF in Documentation/networking/tuntap.txt
    ...

    Linus Torvalds
     
  • sbp2util_mark_command_completed takes a lock which was already taken by
    sbp2scsi_complete_all_commands. This is a regression in Linux 2.6.15.

    Reported by Kristian Harms at
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187394

    [ More complete commentary, as response to questions by Andrew: ]

    > This changes the call environment for all implementations of
    > ->Current_done(). Are they all safe to call under this lock?

    Short answer: Yes, trust me. ;-) Long answer:

    The done() callbacks are passed on to sbp2 from the SCSI stack along
    with each SCSI command via the queuecommand hook. The done() callback
    is safe to call in atomic context. So does
    Documentation/scsi/scsi_mid_low_api.txt say, and many if not all SCSI
    low-level handlers rely on this fact. So whatever this callback does,
    it is "self-contained" and it won't conflict with sbp2's internal ORB
    list handling. In particular, it won't race with the
    sbp2_command_orb_lock.

    Moreover, sbp2 already calls the done() handler with
    sbp2_command_orb_lock taken in sbp2scsi_complete_all_commands(). I
    admit this is ultimately no proof of correctness, especially since this
    portion of code introduced the spinlock recursion in the first place and
    we didn't realize it since this code's submission before 2.6.15 until
    now. (I have learned a lesson from this.)

    I stress-tested my patch on x86 uniprocessor with a preemptible SMP
    kernel (alas I have no SMP machine yet) and made sure that all code
    paths which involve the sbp2_command_orb_lock were gone through multiple
    times.

    Signed-off-by: Stefan Richter
    Signed-off-by: Linus Torvalds

    Stefan Richter
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (49 commits)
    V4L/DVB (3667b): cpia2: fix function prototype
    V4L/DVB (3702): Make msp3400 routing defines more consistent
    V4L/DVB (3700): Remove obsolete commands from tvp5150.c
    V4L/DVB (3697): More msp3400 and bttv fixes
    V4L/DVB (3696): Previous change for cx2341X boards broke the remote support
    V4L/DVB (3693): Fix msp3400c and bttv stereo/mono/bilingual detection/handling
    V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0
    V4L/DVB (3689): Kconfig: fix VP-3054 Secondary I2C Bus build configuration menu dependencies
    V4L/DVB (3673): Fix budget-av CAM reset
    V4L/DVB (3672): Fix memory leak in dvr open
    V4L/DVB (3671): New module parameter 'tv_standard' (dvb-ttpci driver)
    V4L/DVB (3670): Fix typo in comment
    V4L/DVB (3669): Configurable dma buffer size for saa7146-based budget dvb cards
    V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux
    V4L/DVB (3667a): Fix SAP + stereo mode at msp3400
    V4L/DVB (3666): Remove trailing newlines
    V4L/DVB (3665): Add new NEC uPD64031A and uPD64083 i2c drivers
    V4L/DVB (3663): Fix msp3400c wait time and better audio mode fallbacks
    V4L/DVB (3662): Don't set msp3400c-non-existent register
    V4L/DVB (3661): Add wm8739 stereo audio ADC i2c driver
    ...

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
    IB/ipath: kbuild infrastructure
    IB/ipath: infiniband verbs support
    IB/ipath: misc infiniband code, part 2
    IB/ipath: misc infiniband code, part 1
    IB/ipath: infiniband RC protocol support
    IB/ipath: infiniband UC and UD protocol support
    IB/ipath: infiniband header files
    IB/ipath: layering interfaces used by higher-level driver code
    IB/ipath: support for userspace apps using core driver
    IB/ipath: sysfs and ipathfs support for core driver
    IB/ipath: misc driver support code
    IB/ipath: chip initialisation code, and diag support
    IB/ipath: support for PCI Express devices
    IB/ipath: support for HyperTransport devices
    IB/ipath: core driver header files
    IB/ipath: core device driver

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (33 commits)
    [PATCH] pcmcia: declare pccard_iodyn_ops (fix m8xx_pcmcia.c compilation error)
    [PATCH] pcmcia: fix pcmcia_device_remove oops
    [PATCH] pcmcia: Add support for Possio GCC AKA PCMCIA Siemens MC45
    [PATCH] pcmcia: pseudo device handling update
    [PATCH] pcmcia: convert DEV_OK to pcmcia_dev_present
    [PATCH] pcmcia: use bitfield instead of p_state and state
    [PATCH] pcmcia: remove unused p_dev->state flags
    [PATCH] pcmcia: make pcmcia_release_{io,irq} static
    [PATCH] pcmcia: add return value to _config() functions
    [PATCH] pcmcia: remove dev_link_t and client_handle_t indirection
    [PATCH] pcmcia: embed dev_link_t into struct pcmcia_device
    [PATCH] pcmcia: rename pcmcia_device.state
    [PATCH] pcmcia: remove unneeded Vcc pseudo setting
    [PATCH] pcmcia: remove export of pcmcia_release_configuration
    [PATCH] pcmcia: default suspend and resume handling
    [PATCH] pcmcia: convert remaining users of pcmcia_release_io and _irq
    [PATCH] pcmcia: add pcmcia_disable_device
    [PATCH] serial_cs: add Merlin U630 IDs
    [PATCH] pcmcia: AT91RM9200 Compact Flash driver
    [PATCH] pcmcia: socket.functions starts with 1
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (26 commits)
    Input: add support for Braille devices
    Input: synaptics - limit rate to 40pps on Toshiba Protege M300
    Input: gamecon - add SNES mouse support
    Input: make modalias code respect allowed buffer size
    Input: convert /proc handling to seq_file
    Input: limit attributes' output to PAGE_SIZE
    Input: gameport - fix memory leak
    Input: serio - fix memory leak
    Input: zaurus keyboard driver updates
    Input: i8042 - fix logic around pnp_register_driver()
    Input: ns558 - fix logic around pnp_register_driver()
    Input: pcspkr - separate device and driver registration
    Input: atkbd - allow disabling on X86_PC (if EMBEDDED)
    Input: atkbd - disable softrepeat for dumb keyboards
    Input: atkbd - fix complaints about 'releasing unknown key 0x7f'
    Input: HID - fix duplicate key mapping for Logitech UltraX remote
    Input: use kzalloc() throughout the code
    Input: fix input_free_device() implementation
    Input: initialize serio and gameport at subsystem level
    Input: uinput - semaphore to mutex conversion
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc:
    [PATCH] powerpc: iSeries needs slb_initialize to be called
    powerpc: hook up the splice syscall
    [PATCH] powerpc/cell: compile fixes
    [PATCH] powerpc: trivial spelling fixes in fault.c
    [PATCH] powerpc/pseries: EEH Cleanup
    [PATCH] powerpc/pseries: misc lparcfg fixes
    [PATCH] powerpc/pseries: fix device name printing, again.
    [PATCH] powerpc: Extends HCALL interface for InfiniBand usage
    [PATCH] powerpc/pseries: Change H_StudlyCaps to H_SHOUTING_CAPS
    [PATCH] powerpc/pseries: print message if EEH recovery fails
    [PATCH] powerpc/pseries: mutex lock to serialize EEH event processing
    powerpc: converted embedded platforms to use new define_machine support
    powerpc: merge machine_check_exception between ppc32 & ppc64

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC]: Wire up sys_sync_file_range() into syscall tables.
    [SPARC]: Wire up sys_splice() into the syscall tables.
    [SPARC64]: Update defconfig.
    [SPARC64]: Align address in huge_pte_alloc().
    [SPARC64]: Document the instruction checks we do in do_sparc64_fault().
    [SPARC64]: Make tsb_sync() mm comparison more precise.

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [NET]: Fully fix the memory leaks in sys_accept().
    [NETFILTER]: iptables 32bit compat layer
    [NETFILTER]: {ip,nf}_conntrack_netlink: fix expectation notifier unregistration
    [NETFILTER]: fix ifdef for connmark support in nf_conntrack_netlink
    [NETFILTER]: x_tables: unify IPv4/IPv6 multiport match
    [NETFILTER]: x_tables: unify IPv4/IPv6 esp match
    [NET]: Fix dentry leak in sys_accept().
    [IPSEC]: Kill unused decap state structure
    [IPSEC]: Kill unused decap state argument
    [NET]: com90xx kmalloc fix
    [TG3]: Update driver version and reldate.
    [TG3]: Revert "Speed up SRAM access"

    Linus Torvalds
     
  • It doesn't make the splice itself necessarily nonblocking (because the
    actual file descriptors that are spliced from/to may block unless they
    have the O_NONBLOCK flag set), but it makes the splice pipe operations
    nonblocking.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Patch from Pavel Pisa

    This patch adds support of i.MX/MX1 SD/MMC controller.
    It has been significantly redesigned from the original Sascha Hauer's
    version to support scatter-gather DMA, to conform to latest Pierre Ossman's
    and Russell King's MMC-SD Linux 2.6.x infrastructure.
    The handling of all events has been moved to the softirq context
    and is designed with no busy-looping in mind. Unfortunately
    some controller bugs has to be overcome by limited looping
    about 2-20 usec but these are observed only for initial card
    recognition phase.

    There are still some missing/missed IRQs problems under heavy load.
    Help of somebody with access to the full SDHC design information
    is probably necessary.

    Regenerated against 2.6.16-git-060402 to solve clash with other patches.

    Signed-off-by: Pavel Pisa
    Acked-by: Sascha Hauer
    Signed-off-by: Russell King

    Pavel Pisa
     
  • Patch from Andrew Victor

    This patch adds support for the MMC/SD card interface on the Atmel
    AT91RM9200 processor.

    Original driver was by Nick Randell, but a number of people have
    subsequently worked on it. It's currently maintained by Malcolm Noyes.

    Signed-off-by: Andrew Victor
    Signed-off-by: Russell King

    Andrew Victor