16 Jul, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)
    [SCSI] scsi_dh: fix kconfig related build errors
    [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of
    [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h
    [SCSI] make struct scsi_{host,target}_type static
    [SCSI] fix locking in host use of blk_plug_device()
    [SCSI] zfcp: Cleanup external header file
    [SCSI] zfcp: Cleanup code in zfcp_erp.c
    [SCSI] zfcp: zfcp_fsf cleanup.
    [SCSI] zfcp: consolidate sysfs things into one file.
    [SCSI] zfcp: Cleanup of code in zfcp_aux.c
    [SCSI] zfcp: Cleanup of code in zfcp_scsi.c
    [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.
    [SCSI] zfcp: Small QDIO cleanups
    [SCSI] zfcp: Adapter reopen for large number of unsolicited status
    [SCSI] zfcp: Fix error checking for ELS ADISC requests
    [SCSI] zfcp: wait until adapter is finished with ERP during auto-port
    [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver
    [SCSI] sg: Add target reset support
    [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC
    [SCSI] sd: Move scsi_disk() accessor function to sd.h
    ...

    Linus Torvalds
     

15 Jul, 2008

1 commit


12 Jul, 2008

3 commits


08 Jul, 2008

1 commit

  • The problem here is that if the ioc faults too early in the bring up
    sequence (as it usually does for an irq routing problem), ioc_reset gets
    called before the scsi host is even allocated. This causes an oops when
    it later schedules a renegotiation. Fix this by checking ioc->sh before
    trying to renegotiate.

    Cc: "Moore, Eric"
    Cc: Stable Tree
    Signed-off-by: James Bottomley

    James Bottomley
     

03 Jul, 2008

1 commit


05 Jun, 2008

3 commits


27 May, 2008

1 commit

  • Following a hard reset of a SAS raid, one of the raid targets is occasionally
    missing. I tracked this down to a pretty obscure little bug.

    The LSI fusion drivers for SAS and Fibre Channel both use their respective
    transport layers. Those transport layers increment the target number
    assigned to new targets.

    The routine __scsi_scan_target uses the "this_id" element of the Scsi_Host
    structure to avoid scanning the scsi host adapter. Both fusion drivers set
    "this_id" from a value returned in a firmware PortFacts response. For my
    particular test case (SAS) the firmware id assigned to the initiator was
    173. After enough raid resets to cause the raid targets to go and come a
    sufficient number of times, the id assigned by the transport to a raid
    target would match the id assigned by the host adapter to the "this_id"
    field, resulting in that target not being scanned.

    Fix by not assigning this_id and not checking it in slave_configure.

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

    Michael Reed
     

20 Apr, 2008

1 commit


08 Apr, 2008

4 commits

  • There's a problem with the combination of the upstream power
    management fixes and the enabling of MSI by default in that the
    suspend path still uses the global variable. Convert it to check
    ioc->msi_enable.

    Cc: "Moore, Eric"
    Cc: "Prakash, Sathya"
    Signed-off-by: James Bottomley

    James Bottomley
     
  • While performing hardware raid reset testing via the raid's client, I
    noticed that sometimes, following the reset, that there would be more
    raid targets in the lsscsi output than there actually were raid
    targets. I tracked this down to the following issue.

    Fusion cannot always find the mptsas_portinfo structure for the hba
    because it uses the handle stored in ioc->handle to locate it. The
    problem is that the firmware can change the handle associated with the
    hba when h/w raid is reset (via the raid client). When this happens,
    the driver will allocate another mptsas_portinfo structure and link it
    into the chain of said structures. This ultimately causes confusion
    within the driver resulting in targets not being removed when they
    should be.

    Eric Moore pointed out that the hba's portinfo structure is always the
    first structure on the sas_topology list. This patch modifies
    mptsas.c to access the hba's portinfo structure by taking the first
    structure on said list.

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

    Michael Reed
     
  • the semaphore inactive_list_mutex is used as a mutex, convert it to
    the mutex API

    Signed-off-by: Matthias Kaehlcke
    Acked-by: "Moore, Eric"
    Signed-off-by: James Bottomley

    Matthias Kaehlcke
     
  • This patch modifies the driver to enable MSI by default for all SAS chips.

    Signed-off-by: Sathya Prakash
    Signed-off-by: James Bottomley

    Prakash, Sathya
     

19 Mar, 2008

1 commit


06 Mar, 2008

1 commit


04 Mar, 2008

1 commit


22 Feb, 2008

1 commit

  • ioc->name is used in the printk's after ioc has been freed. Free
    after prinks to fix this.

    This patch fixes two use-after-free's introduced by
    commit e78d5b8f1e73ab82f3fd041d05824cfee7d83a2c and spotted by the
    Coverity checker.

    Signed-off-by: Adrian Bunk
    Signed-off-by: James Bottomley

    Adrian Bunk
     

18 Feb, 2008

1 commit


12 Feb, 2008

2 commits


03 Feb, 2008

2 commits


24 Jan, 2008

2 commits


12 Jan, 2008

1 commit


17 Oct, 2007

1 commit

  • * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)
    Fix memory leak in dm-crypt
    SPARC64: sg chaining support
    SPARC: sg chaining support
    PPC: sg chaining support
    PS3: sg chaining support
    IA64: sg chaining support
    x86-64: enable sg chaining
    x86-64: update pci-gart iommu to sg helpers
    x86-64: update nommu to sg helpers
    x86-64: update calgary iommu to sg helpers
    swiotlb: sg chaining support
    i386: enable sg chaining
    i386 dma_map_sg: convert to using sg helpers
    mmc: need to zero sglist on init
    Panic in blk_rq_map_sg() from CCISS driver
    remove sglist_len
    remove blk_queue_max_phys_segments in libata
    revert sg segment size ifdefs
    Fixup u14-34f ENABLE_SG_CHAINING
    qla1280: enable use_sg_chaining option
    ...

    Linus Torvalds
     

16 Oct, 2007

2 commits


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

8 commits

  • drivers/message/fusion/mptctl.c: In function ‘mptctl_mpt_command’:
    drivers/message/fusion/mptctl.c:1764: warning: ‘bufIn.len’ may be used uninitialized in this function
    drivers/message/fusion/mptctl.c:1765: warning: ‘bufOut.len’ may be used uninitialized in this function

    come because gcc gets confused by some "goto" statements in above
    function. The warnings have been verified to be bogus, however, the
    function does initialize these later (after the offending goto's) in
    the function anyway. So let's move those initializations to top of
    function, thereby also shutting up these warnings.

    Signed-off-by: Eric Moore
    Signed-off-by: Satyam Sharma
    Signed-off-by: James Bottomley

    Eric Moore
     
  • NB = number of blocks. This represents the number of blocks to
    transfer. The block size is based on the message frame size provided
    in the ioc_facts. A value of zero indicates the entire message frame
    should be copied. This is two bit value. So by setting this to
    non-zero vaule, you increase performance by reducing amount of data
    needing to be dma'd. The value that is stored in ioc->ReqeustNB is
    sometimes a non-zero vaule, which creates a bug in mptlan, where not
    the entire message frame is getting transfer to firware, resulting in
    corruption. This fix sets the default to zero, thus entire message
    frame is copied.

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • Cleaning up prints that use the xxx_printk API, in that the fusion
    preamble "mptbase: iocX" follows the info provided by the print API.
    The way its currently coded, the [H:C:T] print in sdev_printk will be
    inbetween "mptbase" and "iocX", instead of before.

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • ScsiLookup is an array of pending scmd pointers that the scsi lld
    maintains. This array is touched from queuecommand, eh threads, and
    interrupt context. This array should put under locks, hence this patch
    to synchronize its access. I've added some nice little function
    wrappers for this, and moved the ScsiLookup array over to MPT_ADAPTER
    struct.

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • List below is output from C=2 sparse compilation, which are fixed with
    this patch.

    1) mptspi: pg0 is defined in x86 version of include/asm/pgtable.h

    2) mptsas: context imbalance in 'mptsas_probe' different lock contexts
    for basic block

    3) mptbase: from mpt_attach - cast adds address space to expression

    4) mptbase: from mpt_do_upload - request[] is bad constant expression

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • The driver is currently typecasting to obtain the shost hostdata. The
    driver is updated to use the shost_priv macro.

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • bump version

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore
     
  • Adding 949X, 949E, and 1078 to Kconfig. Adding "depends on FUSION"
    required in the FUSION_LOGGING section, and fixing a spelling error.

    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    Eric Moore