31 Mar, 2011

1 commit


17 Mar, 2011

1 commit


03 Nov, 2010

1 commit


02 Nov, 2010

1 commit

  • "gadget", "through", "command", "maintain", "maintain", "controller", "address",
    "between", "initiali[zs]e", "instead", "function", "select", "already",
    "equal", "access", "management", "hierarchy", "registration", "interest",
    "relative", "memory", "offset", "already",

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Jiri Kosina

    Uwe Kleine-König
     

11 Aug, 2010

1 commit

  • In each case, the destination of the allocation has type struct **, so the
    elements of the array should have pointer type, not structure type.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @disable sizeof_type_expr@
    type T;
    T **x;
    @@

    x =

    //

    Signed-off-by: Julia Lawall
    Cc: Rolf Eike Beer
    Cc: Joe Perches
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     

05 Aug, 2010

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     

28 Jul, 2010

1 commit

  • We have two separate definitions for identical constants with nearly the
    same name. One comes from the generic headers in scsi.h; the other is
    an enum in libsas.h ... it's causing confusion about which one is
    correct (fortunately they both are).

    Fix this by eliminating the libsas.h duplicate

    Signed-off-by: James Bottomley

    James Bottomley
     

17 Jun, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

05 Dec, 2009

1 commit


07 Apr, 2009

2 commits


03 Jan, 2009

1 commit


27 Jul, 2008

1 commit


10 Jul, 2008

1 commit


03 May, 2008

1 commit

  • Fix following warnings:
    WARNING: vmlinux.o(.data+0x17aa88): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup()
    WARNING: vmlinux.o(.data+0x17aa98): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup()
    WARNING: vmlinux.o(.data+0x17aaa8): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9405_setup()

    asd_pcidev_data is only used by __devinit asd_pci_probe. So mark is const and
    annotate it __devinitconst to fix the warnings.

    [akpm@linux-foundation.org: fix warning]
    Signed-off-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: James Bottomley

    Sam Ravnborg
     

08 Apr, 2008

2 commits


24 Feb, 2008

2 commits

  • This is a particularly nasty bug. The problem is that if any internal
    ascb times out, currently we free it even though it's pending at the
    sequencer. This results in the sequencer getting terminally confused
    and the error message:

    BUG:sequencer:dl:no ascb

    Being returned when it comes back. The way to fix this is to manage
    freeing the ascb from the tasklet completion routine, so that we only
    free it when the sequencer actually returns it. The code is also
    altered to use on stack completions and transfer variables.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • Currently aic94xx has no exported I_T_nexus_reset function. This is a
    bit of a huge problem, since sas_ata relies on this function to
    perform an ATA phy reset and also it means that if abort fails, we
    really have no bigger hammer to hit everything with.

    Plumb in the I_T_nexus_reset by quiescing the sequencer, sending the
    correct phy reset (link for ATA and hard for SAS) and then carefully
    resuming the sequencer again.

    Signed-off-by: James Bottomley

    James Bottomley
     

23 Feb, 2008

1 commit

  • The clear nexus I_T and clear nexus I_T_L functions in the aic94xx
    specify the SUSPEND_TX flag which causes the sequencer to be suspended
    until it receives a RESUME_TX. Unfortunately, nothing ever sends the
    resume, so the sequencer on the link is stopped forever, leading to
    eventual timeouts and I/O errors.

    Since clear nexus commands are only executed as part of error recovery,
    it's perfectly fine to keep the sequencer running on the link ... as
    soon as the recovery function is completed, we'll send it the commands
    to retry.

    Signed-off-by: James Bottomley

    James Bottomley
     

18 Feb, 2008

1 commit

  • This driver has been failing under heavy load with

    aic94xx: escb_tasklet_complete: REQ_TASK_ABORT, reason=0x6
    aic94xx: escb_tasklet_complete: Can't find task (tc=4) to abort!

    The second message is because the driver fails to identify the task
    it's being asked to abort. On closer inpection, there's a thinko in
    the for each task loop over pending tasks in both the REQ_TASK_ABORT
    and REQ_DEVICE_RESET cases where it doesn't look at the task on the
    pending list but at the one on the ESCB (which is always NULL).

    Fix by looking at the right task. Also add a print for the case where
    the pending SCB doesn't have a task attached.

    Not sure if this will fix all the problems, but it's a definite first
    step.

    Cc: Stable Tree
    Signed-off-by: James Bottomley

    James Bottomley
     

12 Feb, 2008

1 commit


26 Jan, 2008

1 commit


12 Jan, 2008

3 commits

  • Fix section mismatch warning:

    WARNING: vmlinux.o(.init.text+0x23be6): Section mismatch: reference to .exit.text:asd_unmap_ha (between 'asd_pci_probe' and 'qla4xxx_module_init')
    +
    WARNING: vmlinux.o(.text+0x1ec8a8): Section mismatch: reference to .exit.text:as
    d_unmap_ioport (between 'asd_unmap_ha' and 'asd_remove_dev_attrs')
    WARNING: vmlinux.o(.text+0x1ec8b1): Section mismatch: reference to .exit.text:as
    d_unmap_memio (between 'asd_unmap_ha' and 'asd_remove_dev_attrs')

    Signed-off-by: Randy Dunlap
    Signed-off-by: James Bottomley

    Randy Dunlap
     
  • sparse complains about the mixing of enums in libsas. Since the
    underlying numeric values of both enums are the same, combine them
    to get rid of the warning.

    Signed-off-by: Darrick J. Wong
    Signed-off-by: James Bottomley

    Darrick J. Wong
     
  • 1. Create a file "update_bios" in sysfs to allow user to update bios
    from user space.

    2. The BIOS image file can be downloaded from web site

    "http://www.adaptec.com/en-US/downloads/bios_fw/bios_fw_ver?productId=SAS-48300&dn=Adaptec+Serial+Attached+SCSI+48300"
    and copy the BIOS image into /lib/firmware folder.

    3. The aic994xx will accept "update bios_file" and "verify bios_file"
    commands to perform update and verify BIOS image .

    For example:

    Type "echo "update asc483c01.ufi" > /sys/devices/.../update_bios"
    to update BIOS image from /lib/firmware/as483c01.ufi file into
    HBA's flash memory.

    Type "echo "verify asc483c01.ufi" > /sys/devices/.../update_bios"
    to verify BIOS image between /lib/firmware/asc48c01.ufi file
    and
    HBA's flash memory.

    4. Type "cat /sys/devices/.../update_bios" to view the status or
    result
    of updating BIOS.

    Signed-off-by: Gilbert Wu
    Signed-off-by: James Bottomley

    Gilbert Wu
     

15 Nov, 2007

1 commit

  • arm:

    drivers/scsi/aic94xx/aic94xx_sds.c:381:1: warning: "FLASH_SIZE" redefined
    In file included from include/asm/arch/irqs.h:22,
    from include/asm/irq.h:4,
    from include/asm/hardirq.h:6,
    from include/linux/hardirq.h:7,
    from include/asm-generic/local.h:5,
    from include/asm/local.h:1,
    from include/linux/module.h:19,
    from include/linux/device.h:21,
    from include/linux/pci.h:52,
    from drivers/scsi/aic94xx/aic94xx_sds.c:28:
    include/asm/arch/platform.h:444:1: warning: this is the location of the previous definition

    Cc: Gilbert Wu
    Cc: James Bottomley
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

16 Oct, 2007

1 commit


15 Oct, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (207 commits)
    [SCSI] gdth: fix CONFIG_ISA build failure
    [SCSI] esp_scsi: remove __dev{init,exit}
    [SCSI] gdth: !use_sg cleanup and use of scsi accessors
    [SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2
    [SCSI] gdth: Setup proper per-command private data
    [SCSI] gdth: Remove gdth_ctr_tab[]
    [SCSI] gdth: switch to modern scsi host registration
    [SCSI] gdth: gdth_interrupt() gdth_get_status() & gdth_wait() fixes
    [SCSI] gdth: clean up host private data
    [SCSI] gdth: Remove virt hosts
    [SCSI] gdth: Reorder scsi_host_template intitializers
    [SCSI] gdth: kill gdth_{read,write}[bwl] wrappers
    [SCSI] gdth: Remove 2.4.x support, in-kernel changelog
    [SCSI] gdth: split out pci probing
    [SCSI] gdth: split out eisa probing
    [SCSI] gdth: split out isa probing
    gdth: Make one abuse of scsi_cmnd less obvious
    [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation
    [SCSI] usb storage: use scsi_eh API in REQUEST_SENSE execution
    [SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE
    ...

    Linus Torvalds
     

13 Oct, 2007

3 commits

  • The SSP response DPRINTK in asd_get_response_tasklet() was printing
    a hardcoded status result, rather than the status from the SSP
    response IU.

    Arguably, this should not be a DPRINTK either, since the admin might
    want to know about this.

    Signed-off-by: Jeff Garzik
    Signed-off-by: James Bottomley

    Jeff Garzik
     
  • If an error occurred during initialisation, we would sometimes fail to
    call scsi_host_put() and thus end up with a leaked scsi_host. It was
    also possible to miss calling scsi_remove_host().

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     
  • Add new HBA PCI ID (0x416) for ASC58300 which has eight port SAS and
    SATA PCI-X 133MHz low profile host bus adapter with two mini SAS 4x
    external connectors.

    Signed-off-by: Gilbert Wu
    Signed-off-by: James Bottomley

    Gilbert Wu
     

03 Oct, 2007

1 commit


26 Jul, 2007

1 commit


23 Jul, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)
    [SCSI] libsas: make ATA functions selectable by a config option
    [SCSI] bsg: unexport sg v3 helper functions
    [SCSI] bsg: fix bsg_unregister_queue
    [SCSI] bsg: make class backlinks
    [SCSI] 3w-9xxx: add support for 9690SA
    [SCSI] bsg: fix bsg_register_queue error path
    [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.
    [SCSI] libsas: fix scr_read/write users and update the libata documentation
    [SCSI] mpt fusion: update Kconfig help
    [SCSI] scsi_transport_sas: add destructor for bsg
    [SCSI] iscsi_tcp: buggered kmalloc()
    [SCSI] qla2xxx: Update version number to 8.02.00-k2.
    [SCSI] qla2xxx: Add ISP25XX support.
    [SCSI] qla2xxx: Use pci_try_set_mwi().
    [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.
    [SCSI] qla2xxx: Re-factor isp_operations to static structures.
    [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling.
    [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration.
    [SCSI] qla2xxx: Generalize iIDMA support.
    [SCSI] qla2xxx: Generalize FW-Interface-2 support.
    ...

    Linus Torvalds
     

20 Jul, 2007

1 commit

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     

19 Jul, 2007

3 commits

  • This one was noticed by Gilbert Wu of Adaptec:

    The libata core actually does the DMA mapping for you, so there has to
    be an exception in the device drivers that *don't* do dma mapping for
    ATA commands. However, since we've already done this, libsas must now
    dma map any ATA commands that it wishes to issue ... and yes, this is a
    horrible mess.

    Additionally, the test in aic94xx for ATA protocols isn't quite right.

    Signed-off-by: James Bottomley

    James Bottomley
     
  • It turns out that libata has already dma_map_sg'd the scatterlist
    entries that go with an ata_queued_cmd by the time it calls
    sas_ata_qc_issue. sas_ata_qc_issue passes this scatterlist to aic94xx.
    Unfortunately, aic94xx assumes that any scatterlist passed to it needs
    to be pci_map_sg'd... which blows away the mapping that libata created!
    This causes (on a x260) Calgary IOMMU table leaks and duplicate frees
    when aic94xx and libata try to {pci,dma}_unmap_sg the scatterlist.

    Signed-off-by: Darrick J. Wong

    Key this check off ATA_PROTOCOL_STP

    Signed-off-by: James Bottomley

    Darrick J. Wong
     
  • We actually had two problems: the one with the tag (which is fixed by
    zeroing the tag before sending the taskfile to the sequencer) but the
    other with the fact that we sent our first NCQ command to the device
    before the sequencer had been informed of the NCQ tagging
    capabilities. I fixed the latter by moving the rphy_add() to the
    correct point in the code after the NCQ capabilities are set up.

    Signed-off-by: James Bottomley

    James Bottomley