23 Dec, 2006

1 commit


14 Dec, 2006

2 commits

  • Run this:

    #!/bin/sh
    for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
    echo "De-casting $f..."
    perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
    done

    And then go through and reinstate those cases where code is casting pointers
    to non-pointers.

    And then drop a few hunks which conflicted with outstanding work.

    Cc: Russell King , Ian Molton
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Greg KH
    Cc: Jens Axboe
    Cc: Paul Fulghum
    Cc: Alan Cox
    Cc: Karsten Keil
    Cc: Mauro Carvalho Chehab
    Cc: Jeff Garzik
    Cc: James Bottomley
    Cc: Ian Kent
    Cc: Steven French
    Cc: David Woodhouse
    Cc: Neil Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • i2o_exec_exit and i2o_driver_exit were marked as __exit which is a bug
    because both are invoked from __init and __exit functions.

    Signed-off-by: Ralf Baechle
    Cc: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

08 Dec, 2006

5 commits

  • Correct lots of typos, kernel-doc warnings, & kernel-doc usage in fusion and
    i2o drivers.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • With I2O_CONFIG=y and I2O_EXT_ADAPTEC=n, kernel build gets:

    drivers/message/i2o/i2o_config.c:1115: error: 'i2o_cfg_compat_ioctl' undeclared here (not in a function)

    Signed-off-by: Randy Dunlap
    Cc: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Handle __copy_from_user() return value.

    Noticed by inspection, not from build warning.

    Signed-off-by: Randy Dunlap
    Cc: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • i2o_scsi: handle sysfs failure

    i2o_device:
    * convert i2o_device_add() to return integer error code
    rather than pointer. Fortunately -nobody- checks the return code of
    this function, so changing has nil impact.
    * handle errors thrown by device_register()

    More work in i2o_device remains.

    Signed-off-by: Jeff Garzik
    Cc: Markus Lidel
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • Replace all uses of kmem_cache_t with struct kmem_cache.

    The patch was generated using the following script:

    #!/bin/sh
    #
    # Replace one string by another in all the kernel sources.
    #

    set -e

    for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
    quilt add $file
    sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
    mv /tmp/$$ $file
    quilt refresh
    done

    The script was run like this

    sh replace kmem_cache_t "struct kmem_cache"

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

05 Dec, 2006

1 commit


02 Dec, 2006

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits)
    PCI: make arch/i386/pci/common.c:pci_bf_sort static
    PCI: ibmphp_pci.c: fix NULL dereference
    pciehp: remove unnecessary pci_disable_msi
    pciehp: remove unnecessary free_irq
    PCI: rpaphp: change device tree examination
    PCI: Change memory allocation for acpiphp slots
    i2c-i801: SMBus patch for Intel ICH9
    PCI: irq: irq and pci_ids patch for Intel ICH9
    PCI: pci_{enable,disable}_device() nestable ports
    PCI: switch pci_{enable,disable}_device() to be nestable
    PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap
    pci/i386: style cleanups
    PCI: Block on access to temporarily unavailable pci device
    pci: fix __pci_register_driver error handling
    pci: clear osc support flags if no _OSC method
    acpiphp: fix missing acpiphp_glue_exit()
    acpiphp: fix use of list_for_each macro
    Altix: Initial ACPI support - ROM shadowing.
    Altix: SN ACPI hotplug support.
    Altix: Add initial ACPI IO support
    ...

    Linus Torvalds
     
  • Change drivers/message/i20 pci driver to simply do a nestable
    enable()/disable() instead of checking for it.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     

30 Nov, 2006

1 commit

  • Changes persistant -> persistent. www.dictionary.com does not know
    persistant (with an A), but should it be one of those things you can
    spell in more than one correct way, let me know.

    Signed-off-by: Jan Engelhardt
    Signed-off-by: Adrian Bunk

    Jan Engelhardt
     

22 Nov, 2006

1 commit


31 Oct, 2006

1 commit

  • kernel: INFO: trying to register non-static key.
    kernel: the code is fine but needs lockdep annotation.
    kernel: turning off the locking correctness validator.
    kernel: [] show_trace_log_lvl+0x58/0x16a
    kernel: [] show_trace+0xd/0x10
    kernel: [] dump_stack+0x19/0x1b
    kernel: [] __lock_acquire+0xf0/0x90d
    kernel: [] lock_acquire+0x4b/0x6b
    kernel: [] _spin_lock_irqsave+0x22/0x32
    kernel: [] prepare_to_wait+0x17/0x4b
    kernel: [] lpfc_do_work+0xdd/0xcc2 [lpfc]
    kernel: [] kthread+0xc3/0xf2
    kernel: [] kernel_thread_helper+0x5/0xb

    Another case of non-static lockdep keys; duplicate the paradigm set by
    DECLARE_COMPLETION_ONSTACK and introduce DECLARE_WAIT_QUEUE_HEAD_ONSTACK.

    Signed-off-by: Peter Zijlstra
    Cc: Greg KH
    Cc: Markus Lidel
    Acked-by: Ingo Molnar
    Cc: Arjan van de Ven
    Cc: James Bottomley
    Cc: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

26 Oct, 2006

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (40 commits)
    [SCSI] aic79xx: Print out signalling
    [SCSI] aic7xxx: Remove slave_destroy
    [SCSI] aic79xx: set precompensation
    [SCSI] aic79xx: Fixup external device reset
    [SCSI] replace u8 and u32 with __u8 and __u32 in scsi.h for user space
    [SCSI] lpfc: fix printk format warning
    [SCSI] aic79xx: make ahd_set_tags() static
    [SCSI] aic7xxx: cleanups
    [SCSI] drivers/scsi: Handcrafted MIN/MAX macro removal
    [SCSI] scsi_debug: support REPORT TARGET PORT GROUPS
    [SCSI] qla1280 bus reset typo
    [SCSI] libiscsi: fix logout pdu processing
    [SCSI] libiscsi: fix aen support
    [SCSI] libiscsi: fix missed iscsi_task_put in xmit error path
    [SCSI] libiscsi: fix oops in connection create failure path
    [SCSI] iscsi class: fix slab corruption during restart
    [SCSI] Switch fdomain to the pci_get API
    [SCSI] add can_queue to host parameters
    [SCSI] megaraid_{mm,mbox}: 64-bit DMA capability fix
    [SCSI] aic94xx: Supermicro motherboards support
    ...

    Linus Torvalds
     
  • Thanks to James Smart for the inspiration.

    Stall error handler if attempting recovery while an rport is blocked.
    This avoids device offline scenarios due to errors in the error handler.
    Also verify that VirtDevice is available before issuing scsi command.
    VirtDevice is removed when fc transport removes a target.

    See James Smart's patch of 08/17/2006 for greater detail.

    http://marc.theaimsgroup.com/?l=linux-scsi&m=115583213624803&w=2

    Also bump version number per Eric's request.

    Signed-off-by: Michael Reed
    Acked-by: Eric Moore
    Signed-off-by: James Bottomley

    Michael Reed
     

22 Oct, 2006

1 commit


17 Oct, 2006

1 commit


05 Oct, 2006

2 commits

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (54 commits)
    [SCSI] Initial Commit of qla4xxx
    [SCSI] raid class: handle component-add errors
    [SCSI] SCSI megaraid_sas: handle thrown errors
    [SCSI] SCSI aic94xx: handle sysfs errors
    [SCSI] SCSI st: fix error handling in module init, sysfs
    [SCSI] SCSI sd: fix module init/exit error handling
    [SCSI] SCSI osst: add error handling to module init, sysfs
    [SCSI] scsi: remove hosts.h
    [SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c
    [SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog
    [SCSI] megaraid_sas: adds tasklet for cmd completion
    [SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error
    [SCSI] megaraid_sas: function pointer for disable interrupt
    [SCSI] megaraid_sas: frame count optimization
    [SCSI] megaraid_sas: FW transition and q size changes
    [SCSI] qla2xxx: Update version number to 8.01.07-k2.
    [SCSI] qla2xxx: Stall mid-layer error handlers while rport is blocked.
    [SCSI] qla2xxx: Add MODULE_FIRMWARE tags.
    [SCSI] qla2xxx: Add support for host port state FC transport attribute.
    [SCSI] qla2xxx: Add support for fabric name FC transport attribute.
    ...

    Linus Torvalds
     

01 Oct, 2006

3 commits

  • Use the safe ref-counted API for the bridge check

    Signed-off-by: Alan Cox
    Cc: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Make it possible to disable the block layer. Not all embedded devices require
    it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
    the block layer to be present.

    This patch does the following:

    (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
    support.

    (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
    an item that uses the block layer. This includes:

    (*) Block I/O tracing.

    (*) Disk partition code.

    (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.

    (*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
    block layer to do scheduling. Some drivers that use SCSI facilities -
    such as USB storage - end up disabled indirectly from this.

    (*) Various block-based device drivers, such as IDE and the old CDROM
    drivers.

    (*) MTD blockdev handling and FTL.

    (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
    taking a leaf out of JFFS2's book.

    (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
    linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
    however, still used in places, and so is still available.

    (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
    parts of linux/fs.h.

    (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.

    (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.

    (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
    is not enabled.

    (*) fs/no-block.c is created to hold out-of-line stubs and things that are
    required when CONFIG_BLOCK is not set:

    (*) Default blockdev file operations (to give error ENODEV on opening).

    (*) Makes some /proc changes:

    (*) /proc/devices does not list any blockdevs.

    (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.

    (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.

    (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
    given command other than Q_SYNC or if a special device is specified.

    (*) In init/do_mounts.c, no reference is made to the blockdev routines if
    CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.

    (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
    error ENOSYS by way of cond_syscall if so).

    (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
    CONFIG_BLOCK is not set, since they can't then happen.

    Signed-Off-By: David Howells
    Signed-off-by: Jens Axboe

    David Howells
     
  • Right now ->flags is a bit of a mess: some are request types, and
    others are just modifiers. Clean this up by splitting it into
    ->cmd_type and ->cmd_flags. This allows introduction of generic
    Linux block message types, useful for sending generic Linux commands
    to block devices.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

27 Sep, 2006

1 commit


28 Aug, 2006

2 commits

  • This flag denotes local attachment of the phy. There are two problems
    with it:

    1) It's actually redundant ... you can get the same information simply
    by seeing whether a host is the phys parent
    2) we condition a lot of phy parameters on it on the false assumption
    that we can only control local phys. I'm wiring up phy resets in the
    aic94xx now, and it will be able to reset non-local phys as well.

    I fixed 2) by moving the local check into the reset and stats function
    of the mptsas, since that seems to be the only HBA that can't
    (currently) control non-local phys.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • James Bottomley
     

07 Aug, 2006

3 commits

  • Add host_supported_speeds, host_maxframe_size, host_speed, host_fabric_name,
    host_port_type, host_port_state, and host_symbolic_name transport attributes
    to fusion fibre channel.

    Signed-off-by: Michael Reed
    Acked-by: Moore, Eric
    Signed-off-by: James Bottomley

    Michael Reed
     
  • This patch corrects a problem in mptfc which can result in targets
    being removed after executing an "lsiutil 99" reset of the fibre
    channel ports.

    The last rescan event was being processed before the setup reset work
    due to an inappropriate optimization in the event processing logic.
    Every rescan event is now queued for execution and the setup reset
    work now executes in the proper sequence.

    Signed-off-by: Michael Reed
    Acked-by: Moore, Eric
    Signed-off-by: James Bottomley

    Michael Reed
     
  • Based upon a conversation I had with LSI's fibre channel firmware guru,
    this patch adds another condition under which the driver waits for the
    firmware link initialization / target discovery to complete.

    Signed-off-by: Michael Reed
    Acked-by: Moore, Eric
    Signed-off-by: James Bottomley

    Michael Reed
     

29 Jul, 2006

1 commit


22 Jul, 2006

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (38 commits)
    [SCSI] More buffer->request_buffer changes
    [SCSI] mptfusion: bump version to 3.04.01
    [SCSI] mptfusion: misc fix's
    [SCSI] mptfusion: firmware download boot fix's
    [SCSI] mptfusion: task abort fix's
    [SCSI] mptfusion: sas nexus loss support
    [SCSI] mptfusion: sas loginfo update
    [SCSI] mptfusion: mptctl panic when loading
    [SCSI] mptfusion: sas enclosures with smart drive
    [SCSI] NCR_D700: misc fixes (section and argument ordering)
    [SCSI] scsi_debug: must_check fixes
    [SCSI] scsi_transport_sas: kill the use of channel
    [SCSI] scsi_transport_sas: add expander backlink
    [SCSI] hide EH backup data outside the scsi_cmnd
    [SCSI] ibmvscsi: handle inactive SCSI target during probe
    [SCSI] ibmvscsi: allocate lpevents for ibmvscsi on iseries
    [SCSI] aic7[9x]xx: Remove last vestiges of reverse_scan
    [SCSI] aha152x: stop poking at saved scsi_cmnd members
    [SCSI] st.c: Improve sense output
    [SCSI] lpfc 8.1.7: Change version number to 8.1.7
    ...

    Linus Torvalds
     

13 Jul, 2006

8 commits


12 Jul, 2006

1 commit