27 Jul, 2008

1 commit


08 Apr, 2008

1 commit

  • - static functions in .c files shouldn't be marked inline
    - make needlessly global code static
    - remove the unused aic94xx_seq.c:asd_unpause_lseq()
    - #if 0 other unused code

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: James Bottomley

    Adrian Bunk
     

24 Feb, 2008

1 commit

  • 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
     

26 Jan, 2008

1 commit


12 Jan, 2008

1 commit


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

1 commit

  • 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
     

03 Oct, 2007

1 commit


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
     

14 Jan, 2007

1 commit

  • …LLDD or have already returned

    On a system with many SAS targets, it appears possible that a scsi_cmnd
    can time out without ever making it to the SAS LLDD or at the same time
    that a completion is occurring. In both of these cases, telling the
    LLDD to abort the sas_task makes no sense because the LLDD won't know
    about the sas_task; what we really want to do is to increase the timer.
    Note that this involves creating another sas_task bit to indicate
    whether or not the task has been sent to the LLDD; I could have
    implemented this by slightly redefining SAS_TASK_STATE_PENDING, but
    this way seems cleaner.

    This second version amends the aic94xx portion to set the
    TASK_AT_INITIATOR flag for all sas_tasks that were passed to
    lldd_execute_task.

    Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>

    Darrick J. Wong
     

25 Sep, 2006

1 commit


29 Aug, 2006

1 commit

  • This is the end point of the separate aic94xx driver based on the
    original driver and transport class from Luben Tuikov

    The log of the separate development is:

    Alexis Bruemmer:
    o aic94xx: fix hotplug/unplug for expanderless systems
    o aic94xx: disable split completion timer/setting by default
    o aic94xx: wide port off expander support
    o aic94xx: remove various inline functions
    o aic94xx: use bitops
    o aic94xx: remove queue comment
    o aic94xx: remove sas_common.c
    o aic94xx: sas remove depot's
    o aic94xx: use available list_for_each_entry_safe_reverse()
    o aic94xx: sas header file merge

    James Bottomley:
    o aic94xx: fix TF_TMF_NO_CTX processing
    o aic94xx: convert to request_firmware interface
    o aic94xx: fix hotplug/unplug
    o aic94xx: add link error counts to the expander phys
    o aic94xx: add transport class phy reset capability
    o aic94xx: remove local_attached flag
    o Remove README
    o Fixup Makefile variable for libsas rename
    o Rename sas->libsas
    o aic94xx: correct return code for sas_discover_event
    o aic94xx: use parent backlink port
    o aic94xx: remove channel abstraction
    o aic94xx: fix routing algorithms
    o aic94xx: add backlink port
    o aic94xx: fix cascaded expander properties
    o aic94xx: fix sleep under lock
    o aic94xx: fix panic on module removal in complex topology
    o aic94xx: make use of the new sas_port
    o rename sas_port to asd_sas_port
    o Fix for eh_strategy_handler move
    o aic94xx: move entirely over to correct transport class formulation
    o remove last vestages of sas_rphy_alloc()
    o update for eh_timed_out move
    o Preliminary expander support for aic94xx
    o sas: remove event thread
    o minor warning cleanups
    o remove last vestiges of id mapping arrays
    o Further updates
    o Convert aic94xx over entirely to the transport class end device and
    o update aic94xx/sas to use the new sas transport class end device
    o [PATCH] aic94xx: attaching to the sas transport class
    o Add missing completion removal from prior patch
    o [PATCH] aic94xx: attaching to the sas transport class
    o Build fixes from akpm

    Jeff Garzik:
    o [scsi aic94xx] Remove ->owner from PCI info table

    Luben Tuikov:
    o initial aic94xx driver

    Mike Anderson:
    o aic94xx: fix panic on module insertion
    o aic94xx: stub out SATA_DEV case
    o aic94xx: compile warning cleanups
    o aic94xx: sas_alloc_task
    o aic94xx: ref count update
    o aic94xx nexus loss time value
    o [PATCH] aic94xx: driver assertion in non-x86 BIOS env

    Randy Dunlap:
    o libsas: externs not needed

    Robert Tarte:
    o aic94xx: sequence patch - fixes SATA support

    Signed-off-by: James Bottomley

    James Bottomley