24 Jan, 2008

1 commit

  • This conversion makes full use of the is_visible() callback on attribute
    groups. Now, each device appears only with its capability flags in the
    transport class directory. Previously each device appeared with the
    capability of the host, so this is a functionality improvement.
    Converting to attribute groups allows us to sweep away most of the home
    grown #defines that were effectively doing the same thing.

    Signed-off-by: James Bottomley

    James Bottomley
     

22 Sep, 2007

1 commit

  • Domain Validation in the SPI transport class is failing on boxes with
    damaged cables (and failing to the extent that the box hangs). The
    problem is that the first test it does is a cable integrity test for
    wide transfers and if this fails, it turns the wide bit off. The
    problem is that the next set of tests it does turns wide back on
    again, with the result that it runs through the entirety of DV with a
    known bad setting and then hangs the system.

    The attached patch fixes the problem by physically nailing the wide
    setting to what it deduces it should be for the whole of Domain
    Validation.

    Signed-off-by: James Bottomley

    James Bottomley
     

03 Feb, 2007

1 commit


04 Jan, 2007

1 commit

  • The code does this:

    unsigned char sense[SCSI_SENSE_BUFFERSIZE];
    ...
    scsi_normalize_sense(sense, sizeof(*sense), sshdr)

    however the sizeof will return 1 not 96 which means the sense data will
    have no valid ASC/ASCQ values. Fix by putting the correct sense size.
    The only affected case for this would have been the DV buffer sanity
    check failure, which is fortunately quite rare.

    Signed-off-by: James Bottomley

    James Bottomley
     

22 Nov, 2006

1 commit


24 Sep, 2006

1 commit


01 Jul, 2006

1 commit


10 Jun, 2006

2 commits


12 Mar, 2006

2 commits

  • The check for a one byte message should be msg[0] == 0x55 not msg == 0x55

    Signed-off-by: James Bottomley

    James Bottomley
     
  • Add several missing messages from SPI3, SPI4 and SPI5:
    - Terminate Process
    - Continue Task
    - Target Transfer Disable
    - Clear ACA
    - LUN Reset
    - ACA
    - QAS Request
    Rename some older commands to their SPI5 names:
    - Command Complete -> Task Complete
    - Abort -> Abort Task Set
    - Bus device Reset -> Target Reset
    - Clear Queue -> Clear Task Set

    Change spi_print_msg() to always consume one byte, even if we don't
    recognise it. That allows drivers to call it in a loop to print all
    messages.

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

    Matthew Wilcox
     

28 Feb, 2006

6 commits


15 Jan, 2006

1 commit


13 Jan, 2006

1 commit


16 Dec, 2005

5 commits


14 Dec, 2005

1 commit


02 Dec, 2005

1 commit

  • Some SCSI devices apparently get very confused if we try to use the
    echo buffer on a non-DT negotiated bus (this mirrors the problems of
    using PPR on non-LVD for some devices). The fix is to be far more
    conservative about when we use an echo buffer. With this patch, we'll
    now see what parameters are negotiated by the read only test, and only
    look for an echo buffer if DT is negotiated.

    Signed-off-by: James Bottomley

    James Bottomley
     

29 Oct, 2005

1 commit


29 Aug, 2005

2 commits


15 Aug, 2005

2 commits

  • I recently tried to construct a totally generic transport class and
    found there were certain features missing from the current abstract
    transport class. Most notable is that you have to hang the data on the
    class_device but most of the API is framed in terms of the generic
    device, not the class_device.

    These changes are two fold

    - Provide the class_device to all of the setup and configure APIs
    - Provide and extra API to take the device and the attribute class and
    return the corresponding class_device

    Signed-off-by: James Bottomley

    James Bottomley
     
  • This patch is necessary if we begin exposing underlying physical disks
    (which can attach to the SPI transport class) of the hardware RAID
    cards, since we don't want any SPI parameters binding to the RAID
    devices.

    Signed-off-by: James Bottomley

    James Bottomley
     

04 Aug, 2005

1 commit

  • This parameter is important only to people who take the time to tune the
    margin control settings, otherwise it's completely irrelevant. However,
    just in case anyone should want to do this, it's appropriate to include
    the parameter.

    I don't do anything with it in DV by design, so the parameter will come
    up as off by default, so if anyone actually wants to play with the
    margin control settings they'll have to enable it under the
    spi_transport class first.

    I also updated the transfer settings display to report all of the PPR
    settings instead of only DT, IU and QAS

    Signed-off-by: James Bottomley

    James Bottomley
     

12 Jul, 2005

1 commit


21 Jun, 2005

1 commit


04 Jun, 2005

1 commit


21 May, 2005

1 commit

  • There's a basic need not to have parameters go under or over certain
    values when doing domain validation. The basic ones are

    max_offset, max_width and min_period

    This patch makes the transport class take and enforce these three
    limits. Currently they can be set by the user, although they could
    obviously be read from the HBA's on-board NVRAM area during
    slave_configure (if it has one).

    Signed-off-by: James Bottomley

    James Bottomley
     

06 May, 2005

1 commit

  • The premise is that domain validation is likely to trigger errors which
    it wants to know about, so the only time it should be retrying them is
    when it gets a unit attention (likely as the result of a previous bus or
    device reset). Ironically, the previous coding retried three times in
    all cases except those of unit attention. The attached fixes this to do
    the right thing.

    Signed-off-by: James Bottomley

    James Bottomley
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds