1. 02 Sep, 2006 3 commits
    • Mike Christie's avatar
      [SCSI] add refcouting around ctask usage in main IO patch · 60ecebf5
      Mike Christie authored
      It is possible that a ctask could be completing and getting
      cleaned up at the same time, we are finishing up the last
      data transfer. This could then result in the data transfer
      code using stale or invalid values. This patch adds a refcount
      to the ctask. When the count goes to zero then we know the
      transmit thread and recv thread or softirq are not touching
      it and we can safely release it.
      
      The eh should not need to grab a reference because it only cleans
      up a task if it has both the xmit mutex and recv lock (or recv
      side suspended).
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      60ecebf5
    • Mike Christie's avatar
      [SCSI] libiscsi, iscsi_tcp, iscsi_iser: check that burst lengths are valid. · ffd0436e
      Mike Christie authored
      iSCSI RFC states that the first burst length must be smaller than the
      max burst length. We currently assume targets will be good, but that may
      not be the case, so this patch adds a check.
      
      This patch also moves the unsol data out offset to the lib so the LLDs
      do not have to track it.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      ffd0436e
    • Alan Stern's avatar
      [SCSI] SCSI: sanitize INQUIRY strings · e5b3cd42
      Alan Stern authored
      Sanitize the Vendor, Product, and Revision strings contained in an
      INQUIRY result by setting all non-graphic or non-ASCII characters to ' '.
      Since the standard disallows such characters, this will affect
      only non-compliant devices.
      
      To help maintain backward compatibility, NUL characters are treated
      specially.  They are taken as string terminators; they and all the
      following characters are set to ' '.  If some valid characters get
      erased as a result... well, we weren't seeing them before so we haven't
      lost anything.
      
      The primary purpose of this change is to allow blacklist entries to
      match devices with illegal Vendor or Product strings.
      
      In addition, the patch updates a couple of function prototypes, giving
      inq_result its correct type (unsigned char *).
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      e5b3cd42
  2. 01 Sep, 2006 1 commit
  3. 31 Aug, 2006 2 commits
  4. 30 Aug, 2006 3 commits
    • Darrick J. Wong's avatar
      [SCSI] aic94xx: Increase can_queue for better performance · f19eaa7f
      Darrick J. Wong authored
      This patch sets can_queue in the aic94xx driver's scsi_host to better
      performing values than what's there currently.  It seems that
      asd_ha->seq.can_queue reflects the number of requests that can be
      queued per controller; so long as there's one scsi_host per
      controller, it seems logical that the scsi_host ought to have the same
      can_queue value.  To the best of my (still limited) knowledge, this
      method provides the correct value.
      
      The effect of leaving this value set to 1 is terrible performance in
      the case of either (a) certain Maxtor SAS drives flying solo or (b)
      flooding several disks with I/O simultaneously (md-raid).  There may be
      more scenarios where we see similar problems that I haven't uncovered.
      Signed-off-by: default avatarDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      f19eaa7f
    • James Bottomley's avatar
      [SCSI] aic94xx: add MODULE_FIRMWARE tag · bc229b36
      James Bottomley authored
      Add a tag which shows what the firmware file we're requesting is.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      bc229b36
    • Jon Masters's avatar
      [SCSI] MODULE_FIRMWARE for binary firmware(s) · 187afbed
      Jon Masters authored
      Right now, various kernel modules are being migrated over to use
      request_firmware in order to pull in binary firmware blobs from userland
      when the module is loaded. This makes sense.
      
      However, there is right now little mechanism in place to automatically
      determine which binary firmware blobs must be included with a kernel in
      order to satisfy the prerequisites of these drivers. This affects
      vendors, but also regular users to a certain extent too.
      
      The attached patch introduces MODULE_FIRMWARE as a mechanism for
      advertising that a particular firmware file is to be loaded - it will
      then show up via modinfo and could be used e.g. when packaging a kernel.
      Signed-off-by: default avatarJon Masters <jcm@redhat.com>
      
      Comments added in line with all the other MODULE_ tag
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      187afbed
  5. 29 Aug, 2006 1 commit
    • James Bottomley's avatar
      [SCSI] aic94xx: new driver · 2908d778
      James Bottomley authored
      This is the end point of the separate aic94xx driver based on the
      original driver and transport class from Luben Tuikov
      <ltuikov@yahoo.com>
      
      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: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      2908d778
  6. 28 Aug, 2006 2 commits
    • James Bottomley's avatar
      [SCSI] scsi_transport_sas: remove local_attached flag · f4ad7b58
      James Bottomley authored
      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: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      f4ad7b58
    • James Bottomley's avatar
      Merge ../linux-2.6 · 8ce7a9c1
      James Bottomley authored
      8ce7a9c1
  7. 27 Aug, 2006 28 commits